2012-06-14 3 views
0

У меня проблема, когда сетка свойств изменяется и перерисовывается, область справки в сетке свойств, похоже, не изменяется правильно. Я вижу, что она сохраняет оригинальный размер, с которым была создана сетка, а остальная часть области остается грязным (в ПОС грязная зона составляет от фона окна (Bk Win).C# PropertyGrid Область справки, не обновляющаяся при изменении размера/краске

PropertyGrid

Любая идея как я могу убедиться, что область поможет также получать изменения размера правильно, так что грязная зона получает перекрасили правильно?

благодаря

ответ

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; 
    }    
}