如何获得';MFC::ON_CONTROL_RANGE';类似于使用C#的Winforms中的行为
本文关键字:Winforms CONTROL MFC 何获得 ON 类似于 RANGE | 更新日期: 2023-09-27 18:25:57
在我的Win表单应用程序中,我有大约25个按钮,我想在这些按钮的"点击"事件中调用相同的函数。
有没有类似MFC的ON_CONTROL_RANGE宏。
ON_CONTROL_RANGE(BN_CLICKED, id1, id2, memberFun )
或者我必须手动为所有按钮添加事件处理程序。
任何帮助都会很棒。
为了使事情稍微简单一些并(imho)更易于维护,可以利用设计器中控件的Tag
属性,将所有25的标记设置为相同的字符串值。
然后当你的表格加载时:
foreach(var control in Controls.Where((c) => c.Tag != null && c.Tag.ToString() == "MYVALUE")
control.Click += EventHandler;
在未来,如果您需要添加另一个控件,只需将标记设置为所需的值,此代码就会处理它。
您可以将每个按钮单击事件处理程序分配给相同的方法。在您的设计器文件中,您将看到:
Button1.Click += ...;
Button2.Click += ...;
让它们都一样。