我有一个propertyGridControl - 当点击鼠标右键时如何处理 - 如果它点击了一行而只是单击该行中属性的值而不是单元格中属性的名称?现在它只是提高右键事件而不是标记单元格。
答案 0 :(得分:1)
此类任务通常使用控件的CalcHitInfo方法实现。它用于确定单击控件的区域。这是代码:
private void propertyGridControl1_MouseClick(object sender, MouseEventArgs e) {
if(e.Button == System.Windows.Forms.MouseButtons.Right) {
VGridHitInfo hInfo = propertyGridControl1.CalcHitInfo(new Point(e.X, e.Y));
if(hInfo.HitInfoType == HitInfoTypeEnum.ValueCell) {
propertyGridControl1.FocusedRow = hInfo.Row;
propertyGridControl1.FocusedRecordCellIndex = hInfo.CellIndex;
propertyGridControl1.FocusedRecord = hInfo.RecordIndex;
propertyGridControl1.ShowEditor();
}
}
}