나는 다음과 같은 목표를 가진 윈도우 폼 응용 프로그램을 만드는 오전 콤보 상자를 해당 텍스트 상자를 추가 (그리고 나서 몇 가지 일을했지만, 이것은 질문과 관련이 없습니다).동적으로
사용자가 텍스트 상자에 값을 입력하여 "n"제품을 구성하도록 지정하고 싶습니다. 이 값 n 변수를 설정하는 메서드를 호출하는 텍스트 상자에 대한 이벤트 처리기가 있습니다. 이 값 "n"은 루프 카운터로 사용되며, 무엇을 할 것인가 - 생성 할 상자 수에 대한 경계를 생성한다는 것입니다.
(동적으로 n에 따라), n 개의 (텍스트 상자/콤보 상자) 쌍을 양식에 추가하고 싶습니다. 마지막으로 생성 된 것 아래에 다른 (텍스트 상자/콤보 상자) 쌍을 추가 할 공간이 없으면 다른 열이 만들어야합니다.
n은 제한이 없지만 현실적으로 20을 초과 할 가능성은 거의 없습니다. 어떤 경우에도 이보다 많은 제품이있는 경우 처리 할 수 있기를 바랍니다.
콤보 상자의 옵션은 런타임에 전달되는 문자열 목록에서 채워지지만이 Form 응용 프로그램의 인스턴스마다 상자 당 일관됩니다.
내가 이미지를 모의을 입력하려하지만 난 내가 다음과 같은 코드를 사용하여 상자의 숫자를 생성하는 방법을 이해하는 몇 가지 명성 포인트 :(를 취득 할 때까지 스택 오버 플로우 나를 수있을뿐만 그 미세한 점은 나는에 붙어 있어요. 누군가가 도와 드릴까요?
감사합니다! 사전에 행의 수를 사용자에게 물어
이` private void Method1()
{
int boxes = Int32.Parse(NumProducts.Text);
for (int i = 0; i < boxes; i++)
{
TextBox tb = new TextBox();
tb.Location = new System.Drawing.Point(40, i * 20);
tb.Name = "TextBoxName" + i.ToString();
tb.Size = new System.Drawing.Size(184, 20);
tb.TabIndex = i + 2;
tb.Text = String.Empty;
panel1.Controls.Add(tb);
}
}
private void NumProducts_TextChanged(object sender, EventArgs e)
{
Method1();
}`
답변 해 주셔서 감사합니다. 당신이 말한대로 DataGridView를 찾았고 사용자 입력 값에서 행을 만들었습니다. 그런 다음 게시물을 읽었을 때 테이블의 마지막 행에 다른 값을 입력하자마자 실현되었습니다. "새로운"행. 그냥 나를 생각하는 것 이상으로 생각합니다! –
죄송합니다. DGV를 사용하면 사용자가 직접 지정할 필요없이 원하는만큼 항목을 추가 할 수 있습니다. 바로 이런 종류의 기능을위한 UI 메커니즘으로 DGV를 선택하게 된 이유입니다. – Tergiver