我確定有一種方法可以做到,我只是無法自己解決這個問題,並且搜索該網站並未向我顯示我需要知道的信息。也許我只是使用了錯誤的關鍵字。在執行過程中創建Windows窗體控件
我想在執行過程中將控件添加到窗體。我想爲numericUpDown中顯示的數字創建新的控件。例如。如果用戶輸入3,則應創建3個控件。
它是在Form.ActiveForm。*中的東西嗎?
謝謝。
我確定有一種方法可以做到,我只是無法自己解決這個問題,並且搜索該網站並未向我顯示我需要知道的信息。也許我只是使用了錯誤的關鍵字。在執行過程中創建Windows窗體控件
我想在執行過程中將控件添加到窗體。我想爲numericUpDown中顯示的數字創建新的控件。例如。如果用戶輸入3,則應創建3個控件。
它是在Form.ActiveForm。*中的東西嗎?
謝謝。
而不是「元素」,我認爲你指的是「控件」。
的一般方法是:
TextBox textBox = new TextBox();
textBox.Location = Some Point on your form or container.
this.Controls.Add(textBox);
爲您額外的數字,只是做在一個循環:
int topValue = 0;
for (int i = 0; i < numericUpDown1.Value; i++) {
TextBox textbox = new TextBox();
textBox.Location = new Point(0, topValue);
this.Controls.Add(textBox);
topValue += textBox.Height + 2;
}
非常感謝您的快速響應:) – haapsen 2012-02-08 19:00:36
這可以工作,即創建numericUpDown中指定的元素數量。不過,如果numericUpDown1.Value低於表單中存在的數字,我還想要銷燬這些元素。我是否應該將其作爲單獨問題發佈? – haapsen 2012-02-08 19:57:56
@haapsen這是一個與你發佈的問題不同的問題,它會產生不同的答案。我會發佈一個新問題並鏈接到這個問題作爲參考。這聽起來像你冒險進入FlowLayoutPanel領土。另外,將它們稱爲「控件」,而不是「元素」。 – LarsTech 2012-02-08 20:22:32
你的意思是這麼簡單的東西嗎?
numericUpDown1.Maximum = int.Parse(textBox1.Text);
如果不是,請詳細說明。
你想創建什麼「元素」? – 2012-02-08 18:59:18