1

İ何かについて計算を行い、このように動的にフォームを作成します。

 comboboxAdet.Size = new System.Drawing.Size(100, 300);
            comboboxAdet.Location = new System.Drawing.Point(515, 5);
            comboboxAdet.Margin = new Padding(2, 3, 2, 3);
            comboboxAdet.SelectedIndexChanged += new EventHandler(combobox_SelectedindexChanged);
            /**************************************************/
            TextBox textSatirtoplam = new TextBox();
            textSatirtoplam.Text = satirhesapla(i);
            textSatirtoplam.Name = "labelSatirToplam" + i.ToString();
            textSatirtoplam.Size = new System.Drawing.Size(100, 300);
            textSatirtoplam.Location = new System.Drawing.Point(630, 5);
            textSatirtoplam.MouseClick += new MouseEventHandler(combobox_SelectedindexChanged);
            textSatirtoplam.Visible = true;

問題は、comboxBoxSelected item を変更すると、テキストボックスが変更される可能性があることです。イベントハンドラーを試しましたが失敗しました。それはテキストボックスに到達する方法を意味しますか?

ここに画像の説明を入力

あなたが私を助けてくれたら、私は本当に幸せになります!ありがとうございます。

4

1 に答える 1

0

問題が正しく理解できたら、SelectIndexChangedイベントが発生した行と同じ行のテキスト ボックスを更新してください。

デリゲートを使用し、イベントにクロージャーを渡して、テキスト ボックスへの参照を取得できます。

var combox = new ComboBox();
// code left out

var txtBox = new TextBox();
// code left out

combox.SelectedIndexChanged += delegate(Object sender, EventArgs e)
{
    var destTextBox = txtBox;  // important assign closure to a local variable.
    var srcCombo = (ComboBox) sender;

    destTextBox.Text = srcCombo.SelectedText;
};
于 2012-12-09T16:08:17.700 に答える