我检查了 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 事件。