我创建了一个自定义消息窗口,例如MessageBox,但是禁用了按钮,直到选中了复选框。
我要:
我是C#的新手,有点困惑。我怀疑这与委托,Func,EventHandler等有关,我什至整理出委托和事件的工作方式,但这对我来说有点太多了。
问题是,是否可能,如果是,其背后的逻辑是什么?有没有例子?
我真的怀疑我是唯一需要它的人。
答案 0 :(得分:0)
以下是使用构造函数传递EventHandler的示例代码:
[描述了两种方法(Lambda,方法)]
class TestWindow
{
public TestWindow(RoutedEventHandler ButtonClickHandler)
{
SomeButton.Click += ButtonClickHandler;
}
}
class Caller
{
void Test()
{
TestWindow A = new TestWindow((S, E) => {
// Event Handler Codes ...
});
TestWindow B = new TestWindow(ClickHandler);
}
private void ClickHandler(object sender, RoutedEventArgs e)
{
// Event Handler Codes ...
}
}