2011-09-20 23 views
6

मैं एक लिस्टबॉक्स करने के लिए एक संदर्भ मेनू जोड़ने के लिए जब आप सही किसी आइटम को क्लिक कोशिश कर रहा हूँ।WinForms ListBox राइट-क्लिक करें

मुझे यह भी सुनिश्चित नहीं है कि सही तरीके से काम करने के साथ सही क्लिक फ़ंक्शन है या नहीं।

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

कुछ भी नहीं है कंसोल के लिए प्रिंट:

यहाँ कोड है। क्या मैं कुछ भूल रहा हूँ?

धन्यवाद।

+0

आपके आवेदन एक सांत्वना है? शायद बजाय एक संदेशबॉक्स प्रदर्शित करने का प्रयास? – AndrewC

उत्तर

10

सुनिश्चित करें कि आप घटना ऊपर तार (और ListBox सक्षम किया गया है) गुण विंडो में (बिजली बोल्ट पर क्लिक करें)।

+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 घटना या नहीं के साथ जुड़ा हुआ है है। ListBox और MouseDown घटना पर डबल क्लिक करें का चयन करके

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"); 
    } 
} 

तुम भी डिजाइनर तार ऊपर घटना आप के लिए हो सकता है:

+0

मैंने कोशिश की अपने सुधार और मैं कुछ भी नहीं अभी भी होता है। – gberg927