Devexpress 在propertyGridControl上单击鼠标右键不工作
我正在处理propertyGridControl上的Click和MouseClick两个事件,但当我用右键单击时,什么都没有发生——它只捕获左键Devexpress 在propertyGridControl上单击鼠标右键不工作,devexpress,mouseclick-event,Devexpress,Mouseclick Event,我正在处理propertyGridControl上的Click和MouseClick两个事件,但当我用右键单击时,什么都没有发生——它只捕获左键 private void propertyGridControl_Click(object sender, EventArgs e) { int i = 0; if (e.Button == System.Windows.Forms.MouseButtons.Right) {
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事件