0
比方說,我有一個複選框控件:編程觸發事件System.Windows.Forms.Control的
CheckBox cb = new CheckBox();
cb.CheckedChanged += delegate(object sender, EventArgs e)
{
MessageBox.Show("hello");
};
如何以編程觸發該事件?
我可以做
cb.Checked = !cb.Checked;
cb.Checked = !cb.Checked;
但這是醜陋,會觸發兩次......
,如果有一個以上的事件連接到的CheckedChanged:沿着你從事件需要方法的情況下,它需要更多地履行其任務的任何信息,通過?我需要模擬一個真實的事件... – Anders 2011-03-03 21:36:12
@Anders:我不知道有什麼方法可以在「CheckBox」上做到這一點。對於常規按鈕,有['PerformClick'](http://msdn.microsoft.com/en-us/library/system.windows.forms.button.performclick.aspx)方法,但是沒有像' CheckBox'(我知道)。 – 2011-03-03 21:40:01
@Anders:從複選框中派生自己的類並添加一個調用OnCheckChanged()的公共方法。唯一辦法。它很臭,其他代碼將不會計入Checked屬性而不會實際更改,它甚至可能不檢查該值。 – 2011-03-03 22:09:07