2012-09-22 4 views
0

저는 C#을 처음 접했고 다른 질문을 찾을 수 없었습니다. 나는이 같은 콤보를 만들어 :Combobox SelectedItem

lijst.Location = new Point(400, 25); 

lijst.Text = "Basis"; 
lijst.Items.Add("Basis"); 
lijst.Items.Add("Zuilen"); 
lijst.Items.Add("Vuur"); 
lijst.Items.Add("Zigzag"); 

것은 당신이 지금 항목을 선택하고 다음 방법을 트리거 버튼을 누를 수 있습니다 :

ComboBox lijst = new ComboBox(); 

이 또한 내가 어떤 항목과 위치를 추가했다.

private void bereken(object sender, System.EventArgs e) 
{ 
    string nr = Convert.ToString(lijst.SelectedIndex); 

    Label tekstuitvoer = new Label(); 
    tekstuitvoer.Location = new Point(100, 100); 
    tekstuitvoer.Size = new Size(70, 20); 
    tekstuitvoer.Text = nr; 

    this.Controls.Add(tekstuitvoer); 
} 

하지만 여기 내 문제가 있습니다. 버튼을 누르면 tekstuitover.Text의 결과는 항상 동일합니다. 따라서 "Vuur"가 선택된 상태에서 버튼을 누르면 결과는 항상 2가됩니다. 나중에 콤보 상자 항목을 변경하면 문제가 없습니다. 출력은 항상 2입니다. 그러나 프로그램을 다시 시작하고 세 번째 옵션 대신 네 번째 옵션을 선택하면 결과는 항상 3이됩니다.

이 문제를 해결해 주시겠습니까? 문자열 nr을 재설정하는 방법이 있습니까?

미리 감사드립니다. 나는 너희들이 나를 도울 수 있기를 바랍니다!

답변

1

당신이 거기에서 무슨 말을하고 있었는지 알아 내려고 잠시 나갔습니다. SelectedIndexChanged 이벤트 처리기를 콤보 상자에 추가하고 거기에서 레이블 코드를 트리거하면 단추를 제거 할 수 있습니다.

그러나 상황이 변화함에 따라 새로운 라벨 구성 요소가 만들어집니다. 디자인 타임에 추가하고 이벤트의 텍스트 속성을 설정하는 것이 더 간단합니다.