C#添加事件!
回答
<sarcasm>
使用多个感叹号 - 平时干得不错! </sarcasm>
但是,严重的是,你不能。尝试检查简单的“点击”事件,然后查看两次连续点击之间的时间是否足够小。我不确定你在哪里可以找到系统双击时间。试试Google的搜索。
但是,我会认真考虑将这种非标准行为添加到标准控件。用户通常不会期望这一点,所以他们很可能会对此不满。请记住 - 最好的用户界面是为用户提供最少惊喜的用户界面。最好想想另一种方法来做你正在做的事情。
根据我的反射,System.Windows.Forms.ComboBox的副本,从装配System.Windows.Forms的,版本2.0.0.0,确实有DoubleClick事件。
是的,和MSDN一致。但是,该事件的文档说“此事件支持。.NET Framework基础结构,不能在代码中直接使用。这个事件与这个类无关。“(见http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.doubleclick.aspx)。 – Corin 2009-09-09 22:13:21
组合框内部的TextBox控件抢断/消耗DoubleClick事件,所以你必须使用Click事件的组合框监听既点击?
简短的回答是you don't。
长的答案是你订阅点击事件,并查看是否有另外的单击事件在最后XXX毫秒叫,as in this post。
很快=]感谢所有人 – Luiscencio 2009-09-09 21:55:37
我无法找到一个方法(鉴于文本框吃事件);我还看到一个说明,双击与此控件无关。我还没有找到一个方法来捕获从内部文本控制
你可能要重新考虑你为什么要更改默认行为的事件(即,选择当前文本)。如果您更改预期的行为太多,您的应用程序变得更难以使用。
// Summary:
// This event is not relevant for this class.
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
public event EventHandler DoubleClick;
我猜他们选择隐藏事件,因为它永远不会被调用:
其实一个System.Windows.Forms.ComboBox拥有DoubleClick事件,它只是从你的编辑隐藏:)
你不会双击它,你会让它看起来像你双击它,如果你足够邪恶。
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;
}
}
默认情况下双击选择ComboBox中的全部文本如果你想自己处理双击,'combo_MouseDoubleClick'应该可以工作,但它不会,我不明白为什么我们不得不通过这种行为来操作。两个日期时间?OMG ..也许我们可以去connect.microsoft.com并建议DoubleClick完全在Combos中工作 – 2014-02-23 04:49:42
@JuniorMayhé不确定微软是否会关心我们的想法,但为什么不试试:) – Bastardo 2014-02-24 07:08:16
当然,除了连接。 microsoft.com,有一个网站,我们可以在许多主题中搜索,添加和投票功能:http://visualstudio.uservoice.com/forums/121579-visual-studio – 2014-02-26 15:38:30
- 1. c#添加动态点击事件
- 2. C#WPF在XAML中添加KeyBinding事件
- 3. MooDialog.Request添加事件
- 4. Fullcalendar添加事件
- 5. jquery添加事件
- 6. Fullcalendar添加事件
- 7. DBContext添加/附加事件?
- 8. ListView项添加事件
- 9. 的CKEditor添加“KEYUP”事件
- 10. 添加按钮事件!
- 11. 添加onclick事件到jQuery.each()
- 12. Backbone.js添加事件问题
- 13. 添加Java脚本事件
- 14. 将事件添加到DataGridComboBoxColumn
- 15. 将事件添加到WinForms?
- 16. iggrid添加新行事件
- 17. 添加事件动态
- 18. 添加功能事件
- 19. 动态添加jQuery事件
- 20. JQuery FullCalendar添加事件
- 21. 事件没有被添加
- 22. 将事件添加到jQuery
- 23. C++文件添加
- 24. 将事件添加到嵌套在Repeater ASP-C中的控件#
- 25. 在鼠标悬停上添加事件,如何添加事件一次?
- 26. 将事件添加到动态添加的控件
- 27. Javascript内联事件或事后添加事件
- 28. jQuery插件如何添加事件?
- 29. 添加控件及其事件动态
- 30. jquery插件添加事件监听器
如何您双击一个组合框? – 2009-09-09 21:51:31
为什么你双击一个组合框? – 2009-09-09 21:55:42
什么时候你双击一个组合框? – MusiGenesis 2009-09-09 21:58:46