이 프로그램의 목적은 사용자가 화면의 여러 LED를 선택하여 패널의 여러 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을 우연히 발견했는데 마치 저처럼 작동하는 많은 예제를 찾고 있습니다.
페인트 프로그램은 모든 단일 픽셀에 대해 컨트롤을 사용하지 않습니다. 귀하의 프로그램은 뚱뚱한 픽셀을 가진 페인트 프로그램 일뿐입니다. 컨트롤 사용을 중지하면 나머지는 간단합니다. –
마우스 버튼이 눌려져있는 동안 MouseLeave 이벤트가 발생하지 않는다. MouseDown 이벤트를받는 컨트롤은 Button이 realeased 될 때까지 마우스를 캡처합니다. 한스의 제안을 조사해야합니다. –