Tag: 双击

在System.Windows.Forms.DataGrid中双击单元格时,不会触发MouseDoubleClick事件

我需要处理在ReadOnly DataGrid中双击单元格时(不幸的是不是DataGridView),但是没有触发MouseDoubleClick事件。 如何让事件发生火灾? 我正在创建DataGrid并订阅该事件: var table = new DataTable(); table.Columns.Add(“foo”); table.Rows.Add(new object[] { “foo” }); table.Rows.Add(new object[] { “foo” }); dataGrid1.DataSource = table; dataGrid1.MouseDoubleClick += DataGrid1_MouseDoubleClick; dataGrid1.ReadOnly = true; 只有当我双击单元格之间的边界时才会发生此事件。 当我单击一个单元格时,会出现一个ReadOnly文本框,它似乎吃掉了第二次单击事件: 我在专家交流中找到了一个旧线程 ,他们在那里说了很多: 好吧,不仅在单击一个单元格时没有捕获双击事件,它还没有被datagrid消息队列捕获。 我inheritance了一个数据网格并覆盖了wndproc,检查我是否能检测到双击。 它捕获单击消息,但没有WM_LBUTTONDBLCLK消息通过。 我怀疑MS具有子单元格控件(请参阅DataGridColumnStyle类和派生类)挂钩网格控件并防止消息甚至继续到网格。 试图预先挂钩那个孩子或网格可能会产生相当混乱的结果,所以我避免这样做。 我真的不需要TextBox控件,所以如果有办法抑制单元格“激活”或显示它,那对我来说这也是一个很好的解决方案。 注意:我知道DataGrid已经过时,但我正在处理遗留代码,请不要评论告诉我使用DataGridView – 它对我没有帮助。

如何订阅双击?

我正试图找到一种方法来订阅XNA中的双击事件,谷歌搜索获取winforms相关的东西,但事实并非如此,我不能使用它。 使用Timespan并猜测双击超时在PC上的时间并不可靠。 默认的XNA输入系统也有这个小缺陷:有时候按键或鼠标点击会在更新之间丢失,这会在游戏的高负载时刻破坏双击可靠性。 如何订阅.net中的双击事件? 删除了“不使用Control类事件”,因为实际上有一种方法可以使用该类(请参阅我的回答)。

如果不是双击,如何处理WinForms控件单击事件

我需要区分单击和双击,但我需要在点击事件期间执行此操作。 我需要这个,因为如果只有一次单击我想调用函数A,如果有双击我想调用函数B.但是只有单击才能调用函数A. 如何使用C#(或VB)中的标准Winforms实现此目的?

C#:如何避免在双击事件中发生TreeNode检查

所以我在C#windows窗体应用程序中有一个TreeView。 我需要的是一些节点被“锁定”,以便根据参数无法检查(或取消选中)它们。 我现在在做的是: private void tv_local_BeforeCheck(object sender, TreeViewCancelEventArgs e) { TNode node = (TNode)e.Node; //if a part node, cancel the action. if (node.Type == “Part”) { e.Cancel = true; } //if a locked node, cancel the action if (node.Locked == true) { e.Cancel = true; } } 只需单击该复选框,此代码就可以正常工作,但如果用户双击复选框,它仍会检查/取消选中。 我尝试过使用nodeMouseDoubleClick事件,但这并没有真正帮助,因为我无法取消事件… 是否有任何想法取消节点上的双击事件?…或其他什么? 谢谢

我想在winforms列表框控件中检测项目双击。

好吧,我有一个列表框,里面有一些项目。 我想检测一个项目的双击。 目前我正在使用的方法存在一个问题,即如果用户双击空白点,则双击当前所选项目。 更新: 请注意,这个问题并不像最初看起来那么容易。 还要注意Timwi答案是不正确的,因为[if(ListBox1.SelectedIndex == -1)]部分没有被执行如果有一个项目被选中并且我点击了一个空的空间我不知道是谁投了他但他的答案不是正确。 我已经编写了这部分代码 如果有一个函数可以将鼠标坐标转换为列表框项,那么问题将得到解决

Selenium 2.0 WebDriver Advcanced Interactions DoubleClick帮助(c#)

所以在我的selenium回归测试中,我一直试图双击日历来制作新的appt。 我试图使用doubleClick(); advanceduserinteractions库中的方法,但存在问题; 两次点击不够快/足够接近以实现双击! 有人在他们的测试中找到了解决这个问题的方法吗?

WinForms禁用双击并接受所有鼠标点击?

您如何获得所有点击以参加活动? 我注意到如果你点击太快它会认为你是双击并且没有将点击发送到事件处理程序。 有没有办法获得所有点击?

如何在WPF FrameworkElement上捕获单击和双击事件?

我可以像这样在TextBlock上单击一下 : private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e) { MessageBox.Show(“you single-clicked”); } 我可以像这样双击 TextBlock: private void TextBlock_MouseDown(object sender, MouseButtonEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { if (e.ClickCount == 2) { MessageBox.Show(“you double-clicked”); } } } 但是如何在单个TextBlock上捕获它们并区分它们?

如何为Button创建自定义双击事件

我正在使用.NET Framework上的C#进行开发。 我已经在按钮上有一个事件,只需点击一下即可。 我还希望在同一个按钮的Double Click上有一个事件。 如何在Button上创建双击事件? 我试过这个,但它不起作用: this.SetStyle(ControlStyles.StandardDoubleClick, true); this.button1.DoubleClick += new System.EventHandler(button1_DoubleClick); private void button1_DoubleClick(object sender, EventArgs e) { MessageBox.Show(“You are in the Button.DoubleClick event.”); }

防止双击双击命令

鉴于您有一个触发命令的控件: 如果用户双击命令,有没有办法阻止命令被触发两次? 编辑:在这种情况下重要的是我在WPF中使用命令模型。 看来按下按钮时,执行命令。 除了禁用或隐藏按钮之外,我没有看到任何阻止这种情况的方法。