#c# #.net #winforms #listbox
#c# #.net #winforms #listbox
Вопрос:
У меня есть ListBox в winforms, приложении C #. мне нужно добавить в ListBox флажки в коде, и мне нужно, чтобы HorizontalScrollbar появлялся, когда флажков много и ListBox не может отобразить их все. Я поместил ListBox в окно и установил для его HorizontalScrollbar значение true. Также я установил максимальную высоту и ширину для ListBox.Но когда я запускаю приложение, я не вижу всех флажков… кто-нибудь может помочь с этим?
это код для добавления флажков :
listBox1.HorizontalScrollbar = true;
this.groupBox_ChooseTCPipConfg.Controls.Add(listBox1);
CheckBox chk1 = new CheckBox();
chk1.Text = "chk1";
chk1.Location = new Point(2, 2);
listBox1.Controls.Add(chk1);
CheckBox chk2 = new CheckBox();
chk2.Text = "chk2";
chk2.Location = new Point(2,22);
listBox1.Controls.Add(chk2);
CheckBox chk3 = new CheckBox();
chk3.Text = "chk3";
chk3.Location = new Point(2, 42);
listBox1.Controls.Add(chk3);
CheckBox chk4 = new CheckBox();
chk4.Text = "chk4";
chk4.Location = new Point(2, 62);
listBox1.Controls.Add(chk4);
CheckBox chk5 = new CheckBox();
chk5.Text = "chk5";
chk5.Location = new Point(2, 82);
listBox1.Controls.Add(chk5);
CheckBox chk6 = new CheckBox();
chk6.Text = "chk6";
chk6.Location = new Point(2, 102);
listBox1.Controls.Add(chk1);
CheckBox chk7 = new CheckBox();
chk7.Text = "chk7";
chk7.Location = new Point(2, 122);
listBox1.Controls.Add(chk7);
CheckBox chk8 = new CheckBox();
chk8.Text = "chk8";
chk8.Location = new Point(2, 142);
listBox1.Controls.Add(chk8);
CheckBox chk9 = new CheckBox();
chk9.Text = "chk9";
chk9.Location = new Point(2, 162);
listBox1.Controls.Add(chk9);
CheckBox chk10 = new CheckBox();
chk10.Text = "chk10";
chk10.Location = new Point(2,202);
listBox1.Controls.Add(chk10);
когда я запускаю приложение, я вижу только первые 7 флажков….
Ответ №1:
У вас нет ListBox
прокрутки, потому что вы не добавили в нее никаких элементов. Вы просто размещаете CheckBox
элементы управления внутри. Прокрутка появляется только в том случае, если у вас будет много элементов.
Для таких целей используйте FlowLayoutPanel
элемент управления.
Вот как свойства должны быть установлены для FlowLayoutPanel
Ответ №2:
Попробуйте установить ListBox.HorizontalExtent
Не забудьте прочитать комментарии к приведенной выше ссылке на msdn.