2016-08-27 4 views
-2

で別のフォームからリストボックスにテキストを追加します。[#のWinForm C]私はこのフォームを持って、動的に作成したボタン

MainKozep:

  • パネル - という名前を:

    • はtableLayoutPanelの魔女が含まれている含まれてい"panel1"(Tab(*)Formを含む)
    • リストボックス - "tetels"
    • リストボックス - "tetels_ar"
  • ボタンが

Tab1をPANEL1する負荷Tab1を-Tab10をWICHの名前:

動的に作成(データベースから)ボタン、およびすべてのボタンがありますがクリック可能です

(button.Click + =デリゲート{}で)私はソリューションの多くを試みたが、働いていたので、私の問題ではありませんでした。

タブ(*)でボタンの1つをクリックすると、正確な変数をtetels Listboxに書き込んで、別の変数をtetels_ar Listboxに書き込む必要があります。あなたの助けのための

おかげで、 DRIS

答えて

0

tetelsとtetels_arが動的に作成されている場合、クラススコープでそれらをインスタンス化します。次に、buttonClickハンドラから、以下のようにbuttonClickedを実行します。ここで、私は文字列でtetelsを更新するんだけど、あなたが好きな変数にその値を設定します:

ListBox tetels = new ListBox(); 
    ListBox tetels_AR = new ListBox(); 
    private void buttonClicked(string buttonName) 
    { 
     tetels.Items.Add(buttonName); 
     tetels_AR.Items.Add("otherValue" + buttonName); 
    } 

あなたが別のリストビューの多くを使用する場合は、以下のコードを使用して動的に追加することができます。そして、あなたの動的に作成された各ボタンのonclickイベントとしてmy_Button_Clickedを割り当てます。

private void buttonClicked(string listName, string variableValue) 
    { 
     ListBox l = (ListBox)Controls.Find(listName, true)[0]; 
     l.Items.Add(variableValue); 

    } 
    private void myButton_Clicked(object sender, EventArgs e) 
    { 
     Button b = (Button)sender; 
     buttonClicked("tutels", b.Name); 
     buttonClicked("tutels_AR", b.Text); 

    } 

のようなあなたのボタンを作成:

private void createButton(string name, string buttonText,string parentControlName) 
    { 
     Button b = new Button(); 
     b.Name = name; 
     b.Text = buttonText; 
     b.Click += myButton_Clicked; 
     Control c = Controls.Find(parentControlName, true)[0]; 
     c.Controls.Add(b); 

    } 
+0

tetelsとtetels_ar静的、ボタンを動的に作成されます。 例: Form2のボタンをクリックすると、リストボックス(名前がtetels)に文字列が書き込まれます - 魔法使いはForm1にあります – Dris

関連する問題