2014-06-27 5 views
0

Я пытаюсь создать приложение формы в Visual Studio 2010 с помощью C#.Динамическое создание флажка с прокруткой

Программа будет читать файл 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]); 
} 

Say, если fileCount равен 100, он будет делать вид действительно большим/длинным и не смогу подходит для большинства мониторов.

Есть ли способ сделать все динамически сгенерированные флажки и метки все сгруппированы в области и просто иметь возможность прокрутки? Что-то вроде панели с прокруткой? Я не знаю, есть ли что-то подобное.

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

Любая помощь приветствуется!

ответ

1

Большинство элементов управления имеют свойство AutoScroll. Установите для этого значение значение true, и при необходимости элемент управления автоматически добавит полосу прокрутки. Вы можете использовать элемент управления Panel и добавить к нему все ваши ссылки/флажки (если вы не хотите, чтобы вся ваша форма прокручивалась).

Смежные вопросы