2009-09-09 36 views
0

如何將雙擊事件添加到沒有雙擊事件的控件中= PC#添加事件!

就像組合框一樣!

+5

如何您雙擊一個組合框? – 2009-09-09 21:51:31

+0

爲什麼你雙擊一個組合框? – 2009-09-09 21:55:42

+0

什麼時候你雙擊一個組合框? – MusiGenesis 2009-09-09 21:58:46

回答

6

<sarcasm>使用多個感嘆號 - 平時幹得不錯! </sarcasm>

但是,嚴重的是,你不能。嘗試檢查簡單的「點擊」事件,然後查看兩次連續點擊之間的時間是否足夠小。我不確定你在哪裏可以找到系統雙擊時間。試試Google的搜索。

但是,我會認真考慮將這種非標準行爲添加到標準控件。用戶通常不會期望這一點,所以他們很可能會對此不滿。請記住 - 最好的用戶界面是爲用戶提供最少驚喜的用戶界面。最好想想另一種方法來做你正在做的事情。

0

根據我的反射,System.Windows.Forms.ComboBox的副本,從裝配System.Windows.Forms的,版本2.0.0.0,確實有DoubleClick事件。

+1

是的,和MSDN一致。但是,該事件的文檔說「此事件支持。.NET Framework基礎結構,不能在代碼中直接使用。這個事件與這個類無關。「(見http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.doubleclick.aspx)。 – Corin 2009-09-09 22:13:21

0

組合框內部的TextBox控件搶斷/消耗DoubleClick事件,所以你必須使用Click事件的組合框監聽既點擊?

Source

3

簡短的回答是you don't

長的答案是你訂閱點擊事件,並查看是否有另外的單擊事件在最後XXX毫秒叫,as in this post

+0

很快=]感謝所有人 – Luiscencio 2009-09-09 21:55:37

0

我無法找到一個方法(鑑於文本框吃事件);我還看到一個說明,雙擊與此控件無關。我還沒有找到一個方法來捕獲從內部文本控制

你可能要重新考慮你爲什麼要更改默認行爲的事件(即,選擇當前文本)。如果您更改預期的行爲太多,您的應用程序變得更難以使用。

// Summary: 
    //  This event is not relevant for this class. 
    [EditorBrowsable(EditorBrowsableState.Never)] 
    [Browsable(false)] 
    public event EventHandler DoubleClick; 

我猜他們選擇隱藏事件,因爲它永遠不會被調用:

3

其實一個System.Windows.Forms.ComboBox擁有DoubleClick事件,它只是從你的編輯隱藏:)

3

你不會雙擊它,你會讓它看起來像你雙擊它,如果你足夠邪惡。

private void box_MouseDown(object sender, MouseEventArgs e) 
{ 
     if (e.Button == MouseButtons.Left) 
     { 
     TimeSpan Current = DateTime.Now - LastClick; 
     TimeSpan DblClickSpan = 
     TimeSpan.FromMilliseconds(SystemInformation.DoubleClickTime); 

     if (Current.TotalMilliseconds <= DblClickSpan.TotalMilliseconds) 
     { 
    // Code to handle double click goes here 
     } 

     LastClick = DateTime.Now; 
     } 
} 

double click on combobox

+0

默認情況下雙擊選擇ComboBox中的全部文本如果你想自己處理雙擊,'combo_MouseDoubleClick'應該可以工作,但它不會,我不明白爲什麼我們不得不通過這種行爲來操作。兩個日期時間?OMG ..也許我們可以去connect.microsoft.com並建議DoubleClick完全在Combos中工作 – 2014-02-23 04:49:42

+0

@JuniorMayhé不確定微軟是否會關心我們的想法,但爲什麼不試試:) – Bastardo 2014-02-24 07:08:16

+0

當然,除了連接。 microsoft.com,有一個網站,我們可以在許多主題中搜索,添加和投票功能:http://visualstudio.uservoice.com/forums/121579-visual-studio – 2014-02-26 15:38:30