Переопределить другие CSS:
.button{
background: red! important
}
Как рекурсивно прокомментировано, вы должны просто использовать свойство Anchor.
Ошибка возникает, потому что свойство Size выставляет структура, а не ссылочный тип. Свойство Size возвращает копию объекта размера элемента управления. Запись в свойствах Width и Hight этой копии не имеет смысла, потому что это просто временная копия и нигде не защищена памятью.
В настоящее время я могу увеличить масштаб изображения с помощью приведенного выше кода, но не меньше.
Некоторые элементы управления имеют свойство MinSize (или подобное). Есть ли у вас какие-либо из этих наборов, так что вы не можете изменить размер меньше?
grdNameValueProperties.Size.Width = this.Width - 8;
grdNameValueProperties.Size.Height = this.Height -8;
Этот код выдает ошибку, потому что Size является типом значения, а не ссылочным типом. Чтение этого http://www.yoda.arachsys.com/csharp/parameters.html может помочь объяснить разницу между типами значений и ссылочными типами.
Вы не можете напрямую изменить свойство Size.Width
в UserControl, потому что свойство Size
тип значения, поэтому изменение его ширины приведет к перезаписи всего свойства Size
. Вместо этого элементы управления в WinForms предоставляют свои собственные свойства ширины и высоты, поэтому этот код должен работать:
grdNameValueProperties.Width = this.Width - 8;
grdNameValueProperties.Height = this.Height - 8;
Сказав это, я согласен с комментарием @ recursive о том, что вам, вероятно, следует просто использовать свойство UserControl Anchor
, чтобы сделать он "автоматически" изменяет размер.
Для первой части -
Во-первых, я бы рекомендовал использовать свойство Anchor в UserControl вместо попытки оценить это самостоятельно. Он работает очень просто и очень надежно для обработки изменения размера окна.
Если вы хотите сделать это, вам, вероятно, следует рассмотреть цепочку от this.ClientSize вместо this.Height и this.Width. Вы, вероятно, устанавливаете слишком большой элемент управления, и это не касается панели или другой вещи, на которой вы сидите, что вызывает всевозможные проблемы.
Вторая часть связана с тем, что gridNameValue Properties.Size.Width член структуры.
Когда вы вызываете gridNameValueProperties.Size, вы возвращаете структуру Size, а затем пытаетесь установить ширину возвращаемой структуры (не оригинала). Вот почему вам нужно установить полный тип значения размера в одном кадре. Создание нового Size () и установка его в gridNameValueProperties.Size - единственный способ заставить это работать.