我有以下内容: private void ButtonClick(object sender,EventArgs e)
当我添加到参数列表时,要: private void ButtonClick(object sender,EventArgs e,Class c) 那么它会引起各种各样的问题。但是,我需要在我的主要内容:
Class c = new Class();
然后我想点击一个按钮以便调用ButtonClick,但我真的需要访问函数体中的“Class c”,所以我真的需要
private void ButtonClick(object sender, EventArgs e, Class c)
以某种方式编译。
我已经尝试过其他方法解决这个问题,例如使Class静态,但它会造成太多的重构并导致其他错误。
我不知道这是否可以在Windows窗体中使用。我并不反对切换到XAML和WPF,我只是想知道做某些事情,比如
private void ButtontClick(object sender, EventArgs e, Class c)
将是可能的。
答案 0 :(得分:0)
只需将Class c
变量设置为主类中ButtonClick
事件处理程序所在的成员变量。除非此ButtonClick
事件处理程序是您自己的自定义事件处理程序,否则您无法向框架的Click
事件处理程序添加更多参数。您必须将Class c
变量作为成员变量访问,或者使用带命令参数的命令和命令绑定。
答案 1 :(得分:0)
您可以将c
放在Button.Tag
属性中,并使用点击事件处理程序中的((Button)sender).Tag
来获取它。