프로그램 실행 중에 폼에 레이블과 텍스트 상자를 동적으로 생성하기 위해 여기에서 설명한 솔루션 중 하나에서 찾은 코드를 사용하고 있습니다. 라벨과 상자를 생성하는 코드는 잘 동작합니다. 내 문제는 내가 동적으로 만들어진 텍스트 상자에 사용자 입력에서 뭔가 할 수 있어야합니다,하지만 변수로 정의하려면 사용자 입력에 액세스하는 방법을 잘 모르겠습니다. 도와 줘서 고마워.C#에서 동적으로 작성된 텍스트 상자 입력
private void button2_Click(object sender, EventArgs e)
{
int intGroups = Convert.ToInt32(maskedTextBox1.Text);
int n = intGroups;
for (int i = 1; i <= n; i++)
{
//Retrieved from http://stackoverflow.com/questions/15008871/how-to-create-many-labels-and-textboxes-dynamically-depending-on-the-value-of-an
//Create label
Label portTypeLabel = new Label();
portTypeLabel.Text = String.Format("Port Type (FastEthernet/GigabitEthernet) {0}", i);
Label portGroupLabel = new Label();
portTypeLabel.Text = String.Format("Port Group (the first number before the slash, usually 1) {0}", i);
Label startIntNumLabel = new Label();
portTypeLabel.Text = String.Format("Group {0} starting interface number", i);
//Position label on screen
portTypeLabel.Left = 10;
portTypeLabel.Top = (i) * 20;
/* Must add the rest of the code for displaying the labels here
*/
//Create textbox
TextBox textBox = new TextBox();
ComboBox combo = new ComboBox();
//Position textbox on screen
textBox.Left = 120;
textBox.Top = (i) * 20;
combo.Left = 120;
combo.Top = (i) * 20;
//Add controls to form
this.Controls.Add(portTypeLabel);
this.Controls.Add(textBox);
this.Controls.Add(combo);
}
한 가지 방법 나는 이것이 내가 양식에 추가로 내가 그 값을 추적 할 수 있도록 –
명시 적으로 참조하지 않고, 배열하는 방법을 그들 모두의/목록을 각 텍스트 상자를 추가하는 것입니다 'n' 세트의 입력을 얻으려면'n' 세트의 컨트롤을 필요로하지 않습니다 - 그들은 재사용이 가능합니다. 사용자를위한 버튼을 추가하여 입력을 수집하고 컨트롤을 지우도록 신호를 보내십시오. – Plutonix
Plutonix, 좋은 지적입니다. 그것이 저에게 다만 무언가 인 경우에, 나는 그것 저쪽에 모두 일 것입니다. 그러나 기술에 정통한 사람들보다 적게 배포 할 수 있도록 노력하겠습니다. 나는 모든 사람들이 앞을 볼 수있는 것이 더 좋을 것이라고 생각합니다. 그러나 그 알림을 주셔서 감사합니다! – ajjar