2011-09-20 7 views
6

항목을 마우스 오른쪽 단추로 클릭 할 때 목록 상자에 상황에 맞는 메뉴를 추가하려고합니다.WinForms ListBox 마우스 오른쪽 단추 클릭

제대로 작동하면 마우스 오른쪽 버튼 기능이 제대로 작동하지 않을 수도 있습니다. 콘솔에

private void lstSource_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     Console.WriteLine("Right Click"); 
    } 
} 

아무것도 인쇄 : 여기

는 코드입니다. 내가 놓친 게 있니?

감사합니다.

+0

응용 프로그램에 콘솔이 있습니까? 아마도 대신 MessageBox를 표시하려고합니까? – AndrewC

답변

10

당신이 이벤트를 묶을 확인 (및 목록 상자가 활성화됩니다) :

private void Form1_Load(object sender, EventArgs e) 
{ 
    listBox1.MouseDown += new MouseEventHandler(listBox1_MouseDown); 
} 

void listBox1_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
    MessageBox.Show("Right Click"); 
    } 
} 

당신은 또한 당신을 위해 이벤트를 디자이너 와이어를 가질 수 MouseDown 이벤트에 목록 상자를 두 번 클릭을 선택하여 Properties 창 (번개를 클릭하십시오)에서.

+0

완벽. 고맙습니다! – gberg927

2

Console.WriteLine() 방법은 GUI에 아무 것도 표시하지 않습니다. MessageBox.Show("Right Click");

private void lstSource_MouseDown(object sender, MouseEventArgs e) 
{ 
    if (e.Button == MouseButtons.Right) 
    { 
     MessageBox.Show("Right Click"); 
    } 
} 

편집을 사용하여 핸들러가 MouseDown 이벤트 여부가 부착되어 있는지 확인합니다.

+0

나는 당신의 시정을 시도했지만 나는 아무 일도 일어나지 않았다. – gberg927

관련 문제