ListBox Horizo​​ntalScrollbar不能使用WinForms

时间:2011-11-08 08:46:01

标签: c# .net winforms listbox

我在winforms,C#应用程序中有一个ListBox。 我需要在代码中添加ListBox CheckBoxes,我需要当有很多CheckBox并且ListBox无法全部显示时会出现Horizo​​ntalScrollbar。 我已将ListBox放在Window上,并将其Horizo​​ntalScrollbar设置为true。我也设置了ListBox的最大高度和宽度。但是当我运行应用程序时,我看不到所有的CheckBoxes ... 任何人都可以帮忙吗?

这是添加复选框的代码:

            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个复选框....

2 个答案:

答案 0 :(得分:1)

尝试设置ListBox.HorizontalExtent

不要忘记阅读以上msdn参考上的备注。

答案 1 :(得分:1)

您没有ListBox滚动,因为您没有添加任何项目。您只需将CheckBox控件放在里面。如果您需要很多项目,则滚动显示为oly。

出于此目的,请使用FlowLayoutPanel控件。

以下是如何为FlowLayoutPanel

设置属性

enter image description here