как изменить ширину ListView при увеличении ширины формы?

#c# #winforms #events #listview

#c# #winforms #Мероприятия #listview

Вопрос:

У меня есть простая форма с 2 списками. Когда я запускаю программу, она открывается в размере по умолчанию для формы, а также для двух списков:

http://img838.imageshack.us/img838/6123/form1default.png

Что мне нужно сделать, так это когда форма расширяется (только по ШИРИНЕ, я хочу, чтобы высота была фиксированной), второй (более широкий) listview также увеличивается по ширине:

http://img269.imageshack.us/img269/4879/form1widthincrease.png

Не могли бы вы, пожалуйста, сказать мне, какие свойства самой формы и / или второго listview я должен изменить, чтобы достичь этого? Может быть, следует рассмотреть возможность добавления некоторых событий?

Спасибо!

Ответ №1:

Вы можете добиться этого, установив Anchor для свойства второго ListView значение include AnchorStyles.Right , например Top, Left, Right , в окне свойств в Visual Studio.

Возможно, вы также захотите включить AnchorStyles.Bottom , чтобы изменять ListView размеры при изменении высоты формы.

Комментарии:

1. хм, я пробовал это, но это только перемещает представление списка вправо, оно не расширяет и не увеличивает его ширину?

2. AnchorStyles это битовое поле, если вы устанавливаете значение из кода C #, затем установите его равным AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right

Ответ №2:

Лучше поместить два представления списка в элемент управления SplitContainer и настроить ширину двух представлений списка. Используйте свойство привязки SplitContainer, чтобы увеличить его ширину в соответствии с формой.