2011-04-26 7 views
0

폼에서 클릭 할 때 마우스의 위치를 ​​가져와 xy 좌표를 저장해야합니다. 이 간단한 함수를 만들었습니다 :함수 호출 방법?

public void kokot (MouseEventArgs e) 
{ 
    x = e.X; 
    y = e.Y; 
    this.Invalidate(); 
} 

어떻게 호출 할 수 있습니까? 내가 아무런 인자도 없기 때문에 kokot()을 시도하면 물론 작동하지 않습니다. 이 경우 어떤 주장을 사용해야합니까? 모든 도움을 미리 감사드립니다. 어디서든 코드에서이 같은

public void kokot (int X, int Y) 
{ 
    x = X; 
    y = Y; 
    this.Invalidate(); 
} 
다음

호출 :

+0

작은 힌트를주는 C# 프로그래머가 아니기 때문에 kokot를 이벤트 핸들러로 설정해야 할 수도 있습니다. 이벤트 핸들러는 직접 호출하지는 않지만 이벤트가 발생하면 일부 라이브러리에서 "콜백 함수"라고 불리는 함수입니다. – gd1

+0

Winform 또는 Webform? : | . @ Felice Pollano : 아마도 그는 올바른 대답을 "선택하는"방법을 모른다는 생각이 듭니다.) – Maidot

+0

이것은 이벤트 처리기 함수에 대한 적절한 서명이 아닙니다. Visual Studio에서 자동으로 만들지 않겠습니까? –

답변

5
public Form1() 
    { 
     InitializeComponent(); 
     this.MouseClick += new MouseEventHandler(Form1_MouseClick); 
    } 

    private void Form1_MouseClick(object sender, MouseEventArgs e) 
    { 
     int x = e.X; 
     int y = e.Y; 
     this.Invalidate(); 
    } 
+0

매우 대단히. – Nasgharet

+0

@ Nasgharet : 녹색 진드기로 대답하면 좋을 것 같습니다! – gd1

+0

질문을 하나 더 물어 볼 수 있습니까? 나는 간단한 페인트 프로그램에서 일하기 때문에 ... "PANEL ???" 그래서 나는 그것을 Panel1.MouseClick + = 새로운 MouseEventHandler (Panel1_MouseClick)로 만들었다. 그것은 작동하지만, 내가 볼 때 무언가를 그릴 때. 폼에 그것은 있었다. 뭐가 잘못 되었 니? – Nasgharet

0

두 개의 정수를 받아 함수에 과부하를 추가

Point position = System.Windows.Forms.Cursor.Position; 
kokot(position.X, position.Y); 
0

당신은 MouseClick과 양식에 subcsribe 필요 행사.

this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseClick);