我用SharpDevelop的Mainform.cs,Mainform.Designer.cs和Program.cs文件创建了一个简单的C#程序。
在那里,我在Point(10,10)处添加了一个标签,形式如下:
l.Text="Welcome";
l.Location=new System.Drawing.Point(10,10);
l.Size=new System.Drawing.Size(100,100);
mainForm.Controls.Add(l);
然后添加了一个事件处理程序,用于识别鼠标在表单上的单击。单击标签以更改其文本时。
l.Text="Clicked";
但它只在点击小于(10,10)的点时才更改文本。如何在点击窗口的任何位置时更改文本?
谢谢!
答案 0 :(得分:2)
将相同的事件处理程序附加到标签的Clicked事件,而不仅仅是表单的事件。在您所描述的版本中,Label
控件正在使用点击事件,而不会将其传递给表单。
答案 1 :(得分:2)
当然,为handler
和Click
的{{1}}事件添加相同的Form
即可,但是如果添加更多具有嵌套关系的容器会怎么样?我会使用Label
来寻找global Click event
解决方案,如下所示:
IMessageFilter