c#问题 Button无反应,怎么回事?

woqinzhi 2010-07-25 09:24:25
一个窗体上有一个Button1,在其click事件中编写代码如下:
OpenFileDialog ofdOpenFile = new OpenFileDialog();
ofdOpenFile.RestoreDirectory = true;
if (ofdOpenFile.ShowDialog() == DialogResult.OK)
{
StreamReader mystreamreader = new StreamReader(@ofdOpenFile.FileName);
string Line;//读取的每行信息将记录在该字符串中
double[,] Temp = new double[34, 5];//将每一行的信息都存放在该二维数组中
int temp = 0;
a = 3;
////将*.txt文件中的信息读如到Temp[,]二维数组中
while ((Line = mystreamreader.ReadLine()) != null)
{
char[] tt = new char[] { '\r', '\n' };
string[] split = Line.Split(tt); //将字符串转换为字符串数组
string[] numbers;//读取的每行信息将记录在数组中
for (int i = 0; i < split.Length; i++)
{
numbers = split[i].Split(' ');
for (int j = 0, k = 0; j < numbers.Length && numbers[j] != ""; j++)
Temp[temp, k++] = double.Parse(numbers[j]);
}
temp++;
}
mystreamreader.Close();


怎么运行后点击按钮一点反应都没有呢?
请大虾们帮帮忙!
在线等待!急
...全文
2406 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
zekelove 2010-07-26
  • 打赏
  • 举报
回复
那可能是页面窗口有问题了~~~~~·
兔子-顾问 2010-07-25
  • 打赏
  • 举报
回复 2
。。。。
直接界面上,选择button1,右键,查看属性,点击属性编辑器的顶部闪电标志,查看Clicked事件是不是空的如果是空的,单击,右边的下拉列表,选中button1_clicked。运行。
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
找到了,O(∩_∩)O谢谢!
jointan 2010-07-25
  • 打赏
  • 举报
回复
在Form3.Designer.cs中
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 jointan 的回复:]
在窗口的设计视图,选中控件,在右键菜单中选属性,在属性窗口的选项卡点击闪电符号,然后双击要添加的事件
[/Quote]
我试了一下,但是没有自动出现
this.button1.Click += new System.EventHandler(this.button1_Click);
问:这样绑定后不生成代码吗?如果有,在哪里?
jointan 2010-07-25
  • 打赏
  • 举报
回复
在窗口的设计视图,选中控件,在右键菜单中选属性,在属性窗口的选项卡点击闪电符号,然后双击要添加的事件
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 jointan 的回复:]
public Form3()
{
InitializeComponent();
this.button1.Click += new System.EventHandler(this.button1_Click);
}
[/Quote]
问题解决了,但还是想问一句:怎样检查事件有没有绑定?事件绑定不是自动进行的吗?以前用button是没有自己写代码绑定过呀,造成没绑定的可能原因有哪些?请大虾指点!
zamesking 2010-07-25
  • 打赏
  • 举报
回复
检查Click事件有没有订阅,在code的第一行 "{" 放个断点 debug 一下 就OK了。。如果停下来 就说事件绑定成功了。

其次是 检查下你代码的里面是否没有执行成功。编译器不抱错,不代表你写的代码没有问题。
jointan 2010-07-25
  • 打赏
  • 举报
回复
public Form3()
{
InitializeComponent();
this.button1.Click += new System.EventHandler(this.button1_Click);
}

woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
怎样检查事件有没有绑定?
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jointan 的回复:]
你把代码先注释掉,在Click事件中添一行MessageBox.Show("");试试能不能执行,如果不执行的话,就是事件没绑定处理程序.

如果能执行,那可能就是Main方法(所有WinForm程序都有这个方法)没有[STAThread]属性,部分版本的.Net框架有这个BUG(打不开通用对话框,也不报错);
[/Quote]
试过了,是前一种情况,怎样绑定?请明示,谢了!
jointan 2010-07-25
  • 打赏
  • 举报
回复
或者在设计窗口时,双击一下这个Button,看是否能定位到你的代码段中
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
差不多的代码在另一个项目里也可以执行,代码应该没问题,可是哪里出了问题呢?
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
最后还有一个“}”
fengqiao1999 2010-07-25
  • 打赏
  • 举报
回复
没问题,至少在我这能顺利执行!!!!!!!!!!!!!!!!!!
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jocklyhu 的回复:]
没有把事件注册上吧!看下你的InitializeComponent();函数里面,Button1的onclick事件是否绑定了执行的函数
[/Quote]public partial class Form3 : Form
{

public Form3()
{
InitializeComponent();
}

private void label1_Click(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
………………………………………………………………
}
就是这样,是在这儿看吗?怎么看?
jointan 2010-07-25
  • 打赏
  • 举报
回复
你把代码先注释掉,在Click事件中添一行MessageBox.Show("");试试能不能执行,如果不执行的话,就是事件没绑定处理程序.

如果能执行,那可能就是Main方法(所有WinForm程序都有这个方法)没有[STAThread]属性,部分版本的.Net框架有这个BUG(打不开通用对话框,也不报错);
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
很弱的问题,button 的click事件必须在main方法中吗?还是打开文件对话框需要?
C#边学边用中……望各位大侠谅解!
jocklyhu 2010-07-25
  • 打赏
  • 举报
回复
没有把事件注册上吧!看下你的InitializeComponent();函数里面,Button1的onclick事件是否绑定了执行的函数
woqinzhi 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jointan 的回复:]
你看一下你的Main方法是是否没有[STAThread]属性.
[/Quote]
没有使用main方法啊?
加载更多回复(9)
内容概要:本文针对光伏电池在不同工况下的运行需求,深入研究了最大功率点跟踪(MPPT)与恒功率控制模式之间的切换策略,并基于Simulink平台构建仿真模型以验证控制逻辑的有效性。研究重点涵盖两种控制模式的工作原理、切换判据的设计、控制器参数的优化整定以及系统在模式切换过程中的动态响应特性,旨在实现光伏发电系统在保证最大发电效率的同时,满足电网对功率输出稳定性的要求。通过仿真分析,评估了系统在光照突变、负载波动等典型场景下的运行性能,提升了光伏系统并网的适应性与运行灵活性。; 适合人群:具备电力电子、新能源发电技术或自动控制理论基础的高校研究生、科研人员及从事光伏逆变器与并网系统设计的工程技术人员。; 使用场景及目标:①用于科研项目中光伏系统多模式控制策略的仿真验证;②支撑学术论文撰写中关于模式切换机制、系统稳定性与动态性能分析的内容;③为实际工程中光伏电站的运行控制、逆变器多模式切换逻辑设计提供理论依据与仿真原型参考。; 阅读建议:建议结合提供的Simulink仿真模型同步操作,重点关注模式切换条件的设定逻辑与系统过渡过程的仿真结果,深入分析切换瞬间的功率波动与恢复特性,可进一步将该方法迁移至其他可再生能源发电系统的多模式协调控制研究中进行对比与拓展。
内容概要:本文围绕CentOS 7在芯片设计行业的系统性能优化实践,重点探讨了基于存储I/O与内存管理的全流程加速方案。通过XFS文件系统调优(如启用DAX、largeio、allocsize=1g等参数)、HugePages大页内存配置以及NVMe SSD的I/O调度算法优化(切换为none),有效提升了EDA工具在版图设计、物理验证等环节的运行效率。结合Calibre与Innovus等实际应用场景,展示了优化后DRC验证时间从24小时缩短至14小时,性能提升达41.7%。文章还提供了详细的配置命令和脚本示例,并展望了未来对持久内存和分布式存储的技术演进方向。; 适合人群:从事芯片设计与制造的IT基础设施工程师、EDA工具开发者、系统运维人员及高性能计算平台技术人员,具备Linux系统管理和基本硬件知识者更佳; 使用场景及目标:①提升芯片设计流程中大文件I/O处理效率;②优化内存密集型EDA工具(如Innovus、Calibre)的运行性能;③构建高效稳定的CentOS 7服务器环境以支持先进制程下的海量数据处理; 阅读建议:建议结合文中提供的fstab配置、udev规则、Tcl脚本等代码实例,在测试环境中逐步部署并监控性能变化,重点关注allocsize、hugepages、I/O调度器等关键参数的实际影响,同时关注后续PMEM与分布式文件系统的扩展能力。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧