2009-09-09 37 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