2013-02-15 2 views

답변

2

양식의 이미지 패널 (또는 클릭 이벤트를 감지 할 개체)을 두 번 클릭하면 Visual Studio에서 자동으로 OnClick() 이벤트를 생성합니다. 말할 필요도없이, 저는 폼 디자이너에 대해서 이야기하고 있습니다. 코드를 테스트 할 때 실제로 나타나는 폼이 아닙니다.

또는 개체의 속성을 통해 구현할 이벤트를 설정할 수 있습니다. 그렇게하면 OnKeyDown() 또는 OnFocus() 또는 다른 종류의 이벤트도 구현할 수 있습니다.

편집 : 이미지가 전체 패널을 덮지 않는 경우 마우스 위치가 이미지 크기 내에 있는지 확인해야합니다. 이미지를 가정하는 위치 (imgOriginX, imgOriginY)에 그려진 크기 (imgWidth, imgHeight) 가지고있다 : 디자이너 모드에서

// Fires, when user clicks on panel 
private void panel_Click(object sender, EventArgs e) 
{ 
    // Cast to MouseEventArgs 
    MouseEventArgs mouse = (MouseEventArgs)e; 

    // If mouse is within image 
    if (mouse.X >= imgOriginX && mouse.Y >= imgOriginY && mouse.X < imgOriginX + imgWidth && mouse.Y < imgOriginY + imgHeight) 
    { 
     // do something here 
    } 
} 
+0

감사하지만, 저는 여기에 마우스 클릭 한 경우 지금, 패널에 이미지를 드로잉하고, 검색하는 방법이 이미지 인 경우 또는 (클릭이 이미지 또는 패널의 나머지 부분에서 수행 된 경우) 더 많은 제안이나 힌트를 얻으실 수 있습니다. – user2074911

+0

@ user2074911 이미지가 전체 패널을 덮지 않으십니까? 이 경우 마우스 위치가 이미지의 크기 내에 있는지 확인하는 방법은 무엇입니까? 이미지가 위치 (20,10)에 그려지고 크기가 (200,100)이라고 가정합니다. 'if (e.X> = 20 && e.Y> = 10 && e.X <20 + 200 && e.Y <10 + 100) '과 같이 표시됩니다. – Nolonar

3

는, 패널에 마우스 오른쪽 단추로 클릭하고 속성으로 이동합니다. 속성 창에서 EVENTS (Lightning 아이콘)를 선택하십시오. 클릭에 더블 클릭은,이 코드가 생성됩니다

private void panel1_Click(object sender, EventArgs e) 
    { 
     //--what to do when user clicks on panel-- 
     MessageBox.Show("Clicked"); 
    } 
+0

고마워요,하지만 여기 패널에 이미지를 그리는 중입니다. 마우스 클릭을 한 경우, 이미지에 있는지 여부를 감지하는 방법 (클릭이 이미지 또는 나머지 부분에서 수행 된 경우를 의미합니다. 패널) 도움이 될만한 제안 또는 힌트를 – user2074911

+0

사용자가 그릴 수있는 이미지 유형은 무엇입니까? –

+0

iam이 apanel에서 png 이미지를 그렸습니다. 이제 이미지에서만 마우스 클릭을 확인하고 싶습니다. – user2074911

관련 문제