我正在"强制"从方法中单击按钮 button_Click(null,null)
在button_Click
方法中,我想区分实际点击和强制点击(button_Click(null,null)
).
我以为我可以使用if语句来检查if (sender.Equals(null))
,但这只是一个猜测而且它不起作用.我很抱歉,如果这似乎,请给我一个答案,但我没有找到类似的东西.
处理此问题的通常方法是甚至不尝试处理它.
除非事件发生,否则不要调用事件处理程序.创建一个可重用的方法,该方法接受一个参数来指示您是否有真正的按钮单击.然后button_Click
使用一个值从一个带有另一个值的新方法中调用它.
private void button_Click(object sender, EventArgs e) { HandleButtonClick(isRealClick: true); } private void SimulateButtonClick() { HandleButtonClick(isRealClick: false); } private void HandleButtonClick(bool isRealClick) { // ... }
现在,不要打电话button_Click(null, null)
,而是打电话SimulateButtonClick()
.
调用的缺点button_Click(null, null)
是,对于阅读代码的其他人来说,不应该将您的调用更改为不明显button_Click(button, EventArgs.Empty)
.这样的改变会破坏你的代码.如果可能,您应该编写代码,以便易于理解和维护.