c# - 按钮单击事件没有响应c#
问题描述
我们遇到的问题是访问在另一个按钮的单击事件中创建的按钮的单击事件,即单击第一个按钮会生成一个新面板和控件,我们现在希望这个新创建的面板上的按钮执行一个动作.
控件已在类的顶部声明如下:
Panel createElementPage = null;
TextBox elementDescription = null;
TextBox elementName = null;
Button continueButton = null;
AuditSystem audit;
下面是生成新面板的方法摘录,定义 continueButton 的部分写法如下:
public void CE_Click(object sender, EventArgs e)
{
createElementPage.Controls.Add(elementDescription);
continueButton = new Button();
continueButton.Text = "Continue";
continueButton.Location = new Point(700, 500);
continueButton.Size = new Size(100, 50);
createElementPage.Controls.Add(continueButton);
}
我们想访问 continueButton 的 click 事件处理程序,但我们编写的方法似乎不起作用。这是我们目前所拥有的:
private void continueButton_Click(object sender, EventArgs e)
{
Console.WriteLine(" something");
}
单击按钮不会产生任何结果,我们尝试了一些解决方案,例如实现单独的 eventHandler 方法。有人可以解决这个问题吗?
解决方案
您必须实际订阅该事件:
continueButton.Click += continueButton_Click;
事件需要被告知他们应该处理什么。没有它,他们将不会“听”任何东西。
友情提示:像这样“按需”添加处理程序时要小心(即在设计器之外)。它在这里并不真正适用(您每次都有一个新按钮),但很容易意外地多次订阅控件的事件,并且您的处理程序将因此触发多次。很高兴知道:)
推荐阅读
- javascript - 我正在尝试获取一个表格来使用函数更改行的文本
- image - 如何从相机一张一张地捕捉 3 张或多张图像。在本机反应
- git - Git - 删除源代码上不需要的提交消息
- angular - 如何询问用户是否允许在 Chrome 浏览器中播放声音
- android-architecture-navigation - NavDeepLinkBuilder 将先前的活动添加到后台堆栈
- python - x 次迭代后 Python 并行 for 循环中断
- spring-integration - 检测 RabbitMq 连接上的异常
- excel - 循环直到最后一行数据
- api - 用于呼叫和转录的 Twilio Salesforce 集成
- javascript - 播放时向视频添加字节