You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#记事本应用按钮与双击功能失效问题求助

C#记事本应用按钮无响应、DataGridView双击失效问题排查

我正在学习C#,参照教程制作一款简单的记事本应用,运行程序后发现按钮点击无任何响应,双击PreviousNotes控件也无法触发对应功能。

问题根源

代码中已编写事件处理方法(如SaveButton_Click、PreviousNotes_CellDoubleClick),但窗体设计器未将这些方法与控件事件绑定。WinForms中控件事件必须通过委托绑定到处理方法才能触发。

解决方法

方式1:Visual Studio设计器界面绑定(推荐)

  • 打开窗体设计器,选中目标控件(如SaveButton)
  • 右侧属性窗口切换到「事件」标签(闪电图标)
  • 找到对应事件(如Click),下拉选择已编写的处理方法(如SaveButton_Click)
  • 重复操作,为LoadButton、DeleteButton、AddButton的Click事件绑定对应方法;为PreviousNotes的CellDoubleClick事件绑定PreviousNotes_CellDoubleClick方法

方式2:手动修改窗体设计器代码

在InitializeComponent()方法中,每个控件初始化后添加事件绑定代码:

// SaveButton绑定Click事件
this.SaveButton.Click += new System.EventHandler(this.SaveButton_Click);
// LoadButton绑定Click事件
this.LoadButton.Click += new System.EventHandler(this.LoadButton_Click);
// DeleteButton绑定Click事件
this.DeleteButton.Click += new System.EventHandler(this.DeleteButton_Click);
// AddButton绑定Click事件
this.AddButton.Click += new System.EventHandler(this.AddButton_Click);
// PreviousNotes绑定CellDoubleClick事件
this.PreviousNotes.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.PreviousNotes_CellDoubleClick);

额外代码规范提示

业务逻辑代码中存在列名大小写不一致问题:初始化列用"title"(小写),但SaveButton_Click中用"Title"(大写),虽然DataTable列名默认不区分大小写,建议统一为:

notes.Rows[PreviousNotes.CurrentCell.RowIndex]["title"] = TitleBox.Text;

内容的提问来源于stack exchange,提问作者sami chaibainou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:35:19