0

私はC#が初めてで、他では見つけられなかった質問があります。次のような ComboBox を作成しました。

ComboBox lijst = new ComboBox();

また、いくつかのアイテムと場所を追加しました:

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");

ここでアイテムを選択し、次のメソッドをトリガーするボタンを押すことができます。

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 番目ではなく 4 番目のオプションを選択すると、結果は常に 3 になります。

この問題で私を助けてくれますか? 文字列 nr をリセットする方法はありますか?

前もって感謝します。皆さんが私を助けてくれることを願っています!

4

1 に答える 1

1

あなたがそこで何を言っているのか理解するのに少し時間がかかりました。コンボボックスにイベント ハンドラーを追加し、SelectedIndexChangedそこからラベル コードをトリガーすると、ボタンを取り除くことができます。

ただし、現状では、変更されるたびに新しいラベル コンポーネントを作成することになります。設計時に 1 つ追加し、イベントで text プロパティを設定する方が簡単です。

于 2012-09-22T11:26:12.150 に答える