我已将文本框挂钩到属性网格中,如下所示
private void SetupKeyDownHookForPropertyGrid(PropertyGrid targetGrid, bool shouldHook)
{
foreach (Control control in targetGrid.Controls)
{
if (control.GetType().Name == "PropertyGridView")
{
foreach (Control realControl in control.Controls)
{
if (realControl.GetType().Name == "GridViewEdit")
{
TextBox targetTextBox = realControl as TextBox;
// hookKeyDown is a callback function
targetTextBox.KeyDown += hookKeyDown;
}
}
}
}
}
我可以成功挂钩用户按下的任何键,但Enter键除外(它将直接更新所选对象的属性)。
似乎KeyDown事件没有调度到文本框,而是由一些顶级的propertygrid控件处理。
是否有任何解决方案可以将Enter键按在PropertyGrid的文本框中?
谢谢!