我正在尝试使用C#在Visual Studio 2010中构建表单应用程序。
该程序将读取包含文件名列表的excel文件,并将为每个文件名动态生成文本框。
以下是我的代码,仅供澄清。我想让标签成为文件的链接,这就是我没有使用checkboxes[i].Text = filename
CheckBox[] checkboxes = new CheckBox[fileCount];
Label[] labels = new Label[fileCount];
for (int i = 0; i < fileCount; i++ )
{
//creating a checkbox
checkboxes[i] = new CheckBox();
checkboxes[i].Location = new Point(360, (145 + i * 30));
checkboxes[i].Name = String.Format("checkbox{0}", i.ToString());
this.Controls.Add(checkboxes[i]);
//creating filename label
labels[i] = new Label();
labels[i].Location = new Point(20, (150 + i * 30));
labels[i].Text = existingFiles[i];
labels[i].Width = 330;
this.Controls.Add(labels[i]);
}
假如fileCount
等于100,它会使表格变得非常大/很长,并且无法在大多数显示器上正确显示。
有没有办法让所有动态生成的复选框和标签全部分组在一个区域中,让用户能够滚动?像滚动面板的东西?我不知道是否有类似的东西。
我考虑使用CheckedListBox
,但这样做我将无法将文件名设为链接。我希望用户能够点击标签,文件将自动打开,而不是选择它。
感谢任何帮助!
答案 0 :(得分:1)
大多数控件都具有AutoScroll属性。将此设置为true,控件将在必要时自动添加滚动条。您可以使用Panel控件并添加所有链接/复选框(如果您不希望整个表单滚动)。