該程序的目的是允許用戶通過在屏幕上選擇它們來點亮面板上的多個LED。我在當前構建的按鈕陣列中,用戶必須單獨單擊所有按鈕。該陣列可容納1536個LED,這就是很多的點擊。我希望用戶能夠按住鼠標按鈕並點亮它們交叉的任何LED。我想說的是這樣的:鼠標事件處理程序
buttonArray[row, column].MouseLeave += new System.Windows.Forms.MouseEventHandler(ClickButton);
再有一個像常規:
private void ClickButton(Object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button==MouseButtons.Left)
{
//blah blah
}
}
這將觸發任何時候用戶鼠標進入到一個按鈕上,然後我會檢查,看看他們是否按住按鈕。現在我收到此錯誤:
Error 1 Cannot implicitly convert type 'System.Windows.Forms.MouseEventHandler' to 'System.EventHandler'.
好像我沒有委託和處理的正確的匹配,或者說我不理解的命名空間的東西......還挺新的C#。我在MSDN上偶然發現了一段時間,並且發現了很多與我的工作相似的示例。
繪圖程序不會爲每個像素使用控件。你的程序只是一個脂肪像素的繪畫程序。停止使用控件,其餘的很簡單。 – 2012-08-07 23:31:47
你將會遇到的一個問題是,當鼠標按鈕關閉時,MouseLeave事件不會被觸發。接收MouseDown事件的控件捕獲鼠標,直到Button被釋放。你真的需要看看漢斯的建議。 – 2012-08-08 00:41:20