2015-04-26 1 views
5

Winforms имеет управление под названием PropertyGrid. Элемент отображения PropertyGrid является областью описания. По умолчанию отображается имя выбранного свойства. Используя атрибуты, программист может отображать другой текст. Я хотел бы удалить его полностью. Это занимает слишком много места, и мне не нужно ничего показывать. Я не вижу никаких свойств в объектной модели, чтобы удалить его. Пожалуйста, разместите решение для его удаления.Как удалить область описания из сетки свойств?

Ниже представлен снимок экрана, о котором я говорю. Я хотел бы удалить область в красном, чтобы «PercentComplete» находился в нижней части кадра.

enter image description here

ответ

9

Попробуйте установить PropertyGridHelpVisible на false.

+0

спасибо, что сделал трюк. Любой, кто застрял в этой проблеме, использует решение vesan. Вы можете использовать мое решение (использующее отражение), если вы хотите изменить высоту окна справки. – sapbucket

1

Добавьте следующую строку в ваш код:

private static void ChangeDescriptionHeight(PropertyGrid grid, int height) 
{ 
    if (grid == null) throw new ArgumentNullException("grid"); 

    foreach (Control control in grid.Controls) 
    { 
     if (control.GetType().Name == "DocComment") 
     { 
      var fieldInfo = control.GetType().BaseType.GetField("userSized", 
                   BindingFlags.Instance | 
                   BindingFlags.NonPublic); 
      fieldInfo.SetValue(control, true); 
      control.Height = height; 
      return; 
     } 
    } 
} 

И называть это так:

var progressTimerProperties = new ProgressTimerProperties(); 
    propertyGridProgressTimer.SelectedObject = progressTimerProperties; 

    ChangeDescriptionHeight(propertyGridProgressTimer, 0); 

Обратите внимание, что '0'? Он устанавливает высоту области описания равным 0, эффективно удаляя ее. Если вы хотите, вы можете пойти в противоположном направлении и сделать его больше, чтобы разместить больше текста.

+0

Если у кого-то есть решение, которое не использует отражение, я «все уши». – sapbucket