右击鼠标不工作
问题描述:
我处理这两个事件点击鼠标点击和上propertyGridControl但是当我用右键点击任何发生 - 它仅捕捉离开了。右击鼠标不工作
private void propertyGridControl_Click(object sender, EventArgs e)
{
int i = 0;
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
MessageBox.Show("right");
}
}
如何捕捉鼠标右键单击?
答
我已经检查了如何MouseClick事件的作品,并没有看到这个问题。该事件被正确提出。我检查了PropertyGridControl的10.2.5(最新版本)。我只能想象你在网格的编辑器中点击。在这种情况下,鼠标和键盘事件由就地编辑器管理,而不是网格。要赶上这个事件,你可以使用下面的代码:
private void propertyGridControl1_ShownEditor(object sender, EventArgs e) {
PropertyGridControl pgc = sender as PropertyGridControl;
pgc.ActiveEditor.MouseClick -= new MouseEventHandler(ActiveEditor_MouseClick);
pgc.ActiveEditor.MouseClick += new MouseEventHandler(ActiveEditor_MouseClick);
}
void ActiveEditor_MouseClick(object sender, MouseEventArgs e) {
if(e.Button == System.Windows.Forms.MouseButtons.Right) {
MessageBox.Show("right");
}
}
我只有一个更多的想法。如果控制的ContextMenuStrip属性设置,如果按下鼠标右键,则不会引发MouseClick事件。是你的情况吗?解决方案很简单 - 处理控件的MouseDown事件。