【发布时间】:2013-02-03 12:14:19
【问题描述】:
当我第一次按下控制键(左键)然后单击鼠标左键时,为什么会执行以下代码。我正在修改现有代码,下面的代码已经存在。我想以前没有人尝试过,按下控制键,它只用于鼠标左键单击,它一直适用于这种情况。但我希望在按下控制键的同时按下鼠标左键时执行不同的代码。
private void treeList1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
TreeList tree = sender as TreeList;
if (e.Button == MouseButtons.Right && ModifierKeys == Keys.None && tree.State == TreeListState.Regular)
{
//the code that is here gets executed
MessageBox.Show("I am here");
}
}
我将非常感谢任何提示或帮助。
附:在上述情况下,我想补充一点,当我检查 e.button 值时,它显示等于 Right,尽管我按下了鼠标左键和 Ctrl 键。这对我来说是个谜。
亲爱的 StackOverflow 研究员:我发现了问题,因为我在 MAC 上使用虚拟机,所以我不得不在我的虚拟机首选项上禁用一些键映射,现在我的原始代码可以工作了。感谢您的所有帮助。
【问题讨论】:
-
ModifierKeys 在调试时包含什么?很明显它不包含 Control。
-
这是 .net 4.0 吗?这可能会有所帮助:stackoverflow.com/questions/4705428/…
-
事件按预期触发,您确定
msgbox代码被执行? -
@nzic 它包含控制
-
@retailcoder 它是 .net4 并且链接没有帮助。还是谢谢。
标签: c# winforms devexpress