Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing cb = TryCast(e.Control, ComboBox) If cb IsNot Nothing Then or one handler twice RemoveHandler cb.SelectedIndexChanged, AddressOf DGVComboIndexChanged AddHandler cb.SelectedIndexChanged, AddressOf DGVComboIndexChanged End If End Sub
dim cb as combobox
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiondim cb as combobox Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing cb = TryCast(e.Control, ComboBox) If cb IsNot Nothing Then RemoveHandler cb.SelectedIndexChanged, AddressOf DGVComboIndexChanged AddHandler cb.SelectedIndexChanged, AddressOf DGVComboIndexChanged End If End Sub
Private Sub DGVComboIndexChanged() ComboBox1.SelectedIndex = cb.SelectedIndex Dim relation As DataRelation relation = New DataRelation("relation", _ DataSet1.Tables(System.IO.Path.GetFileName(ListBox1.SelectedItem)).Columns("Reference"), _ DataSet1.Tables(ComboBox1.SelectedItem).Columns("Reference")) Me.DataSet1.Relations.Add(relation) search_child(cb.SelectedItem, ComboBox1.SelectedItem, System.IO.Path.GetFileName(ListBox1.SelectedItem)) End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Pour le test j'affiche le nombre de fois que l'index change dans la form 'on commence donc à zéro: Me.Text = "0" 'Je crée dynamiquement un combobox: Dim Combo As ComboBox = New ComboBox 'Je l'ajoute aux contrôles de la form: Me.Controls.Add(Combo) 'Je le remplis avec des données: Combo.Items.Add("AAA") Combo.Items.Add("BBB") Combo.Items.Add("CCC") Combo.Items.Add("DDD") 'J'affiche l'index 0 => "AAA" donc Combo.SelectedIndex = 0 'Je lui ajoute le handler Combo_SelectedIndexChanged AddHandler Combo.SelectedIndexChanged, AddressOf Combo_SelectedIndexChanged End Sub Private Sub Combo_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Je fais un "plus un" à chaque fois que je change d'index sur le combo Me.Text = Val(Me.Text) + 1 End Sub