2011-12-16 78 views
1

我無法爲我的ListBox獲取MouseDoubleClick事件。我已添加MouseDown 事件。每次我雙擊MouseDown事件被觸發爲什麼會發生這種情況?Listbox mousedown和doubleclick

回答

2

當您在控件上按下鼠標按鈕時,會觸發幾個事件。他們在這個順序觸發:

  • 的MouseDown
  • 鼠標點擊
  • 的MouseUp

DoubleClick事件將被解僱,如果你雙擊在某個時間段的控制。所以應該提出這個事件。如果您在MouseDown事件中執行某些「魔術」操作,則可能不會引發MouseDoubleClick。

如果您需要更多幫助,請發佈MouseDownEvent代碼並在WinForms或WPF中標記您的問題。

編輯

如果在MouseDown事件中斷點,你正在運行調試器的代碼,該MouseDoubleClick不會被調試器捕獲。調試UI事件不是很容易...

+0

@感謝Fischermaen上的WinForms您的意見 私人無效listBox_MouseDown(對象發件人,發送MouseEventArgs E) { INT indexOfItem = listBox.IndexFromPoint(e.Location); if(indexOfItem!= -1)string { listBox.DoDragDrop(indexOfItem.ToString(),DragDropEffects.Move); } } – Razack 2011-12-16 09:19:40

1

我正在尋找解決方法來避免此問題,並發現以下內容。當您使用鼠標按下事件時,這將允許雙擊事件觸發。

private void myControl_MouseDown(object sender, MouseEventArgs e) 
{ 
     if (e.Button == MouseButtons.Left && e.Clicks == 1) 
     { 
      //do my mouse down stuff 
     } 
}