2016-04-29 9 views
-2
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     ComboBox item = new ComboBox(); 

     item.Name = "subCat"; 
     item.Location = new System.Drawing.Point(100, 71); 
     item.Width = 200; 
     item.Height = 21; 
     item.Text = "Choose SubCategori"; 

     item.Items.Add("test1"); 

     this.Controls.Add(item); 

    } 

これで、作成したcombobox_value_changedイベントが必要です。C#コードで新しいコンボボックスを作成するには?

私を助けてください。 (申し訳ありません悪い英語)

+0

あなたは、通常それにアクセスすることができます。たとえば、正確なメソッドが 'item.SelectedIndexChanged'を処理するようにしたいのであれば、' item.SelectedIndexChanged + = comboBox1_SelectedIndexChanged; ' – AntiTcb

+0

これがASP.NETの場合、このように作成されたコントロールはページがサーバーに送信されると失われます。 – niksofteng

答えて

0

DynamicCombobox_SelectedIndexChangedは、新しく作成されたcomboBoxの選択インデックスの変更を呼び出す方法としましょう。あなたは以下のコードを使用してコンボボックスにこれを割り当てることができます。あなたは次のような何かを試すことができます

private void DynamicCombobox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    //Code here 
} 
// creation statements 
item.SelectedIndexChanged += DynamicCombobox_SelectedIndexChanged; 
0

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var item = new ComboBox 
    { 
     Name = "subCat", 
     Location = new System.Drawing.Point(100, 71), 
     Width = 200, 
     Height = 21, 
     Text = "Choose SubCategori" 
    }; 
    item.Items.Add("test1"); 

    this.Controls.Add(item); 

    // assign previously written method 
    item.SelectedIndexChanged += DynamicallyCreatedCombobox_SelectedIndexChanged; 
    // or 
    // assign created in place delegate 
    item.SelectedIndexChanged += (objSender, eventArgs) => {/* code here */}; 
} 

// event handler for dynamically created combo box 
private void DynamicallyCreatedCombobox_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    // code here 
} 
関連する問題