2014-06-27 38 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]); 
} 

說,如果fileCount等於100,就會使形式真正的大/長,將不能夠適合大多數顯示器。

有沒有辦法讓所有動態生成的複選框和標籤都分組在一個區域,並讓用戶能夠滾動?像滾動面板一樣?我不知道是否有這樣的事情。

我想過使用CheckedListBox,但這樣做我將無法使文件名成爲鏈接。我希望用戶能夠點擊標籤,文件將自動打開,而不是選擇它。

任何幫助表示讚賞!

回答

1

大多數控件都具有AutoScroll屬性。將其設置爲true,並且控件將在必要時自動添加滾動條。您可以使用面板控件並將所有鏈接/複選框添加到該控件中(如果您不希望整個窗體滾動)。