C#PropertyGrid帮助区域在调整大小/绘制时不刷新

时间:2012-06-14 01:45:31

标签: c# propertygrid

我有一个问题,当属性网格调整大小并重新绘制时,属性网格中的帮助区域似乎没有正确调整大小。我看到它保留了创建网格的原始大小,并且该区域的其余部分仍然很脏(在图片中,脏区域来自背景窗口(Bk Win)。

PropertyGrid

我知道如何确保帮助区域也正确调整大小,以便脏区重新正确地重新绘制?

感谢

1 个答案:

答案 0 :(得分:0)

看起来DocComment中的控件没有自动更新(.NET中的错误?)..但这是一个快速的解决方案..

 
private void PropertyGrid_Resize(object sender, EventArgs e)
{
  foreach (Control control in (sender as PropertyGrid).Controls)
    if (control.GetType().Name == "DocComment")
    {
      FieldInfo fieldInfo = control.GetType().BaseType.GetField("userSized",
        BindingFlags.Instance |
        BindingFlags.NonPublic);
      fieldInfo.SetValue(control, true);
      control.Width = (sender as PropertyGrid).Width;
      foreach (Control ctrl in control.Controls)
      {
          ctrl.Width = control.Width;
      }
      return;
    }            
}