Udostępnij za pośrednictwem


ComboBox.OnSelectionChangeCommitted(EventArgs) Metoda

Definicja

SelectionChangeCommitted Zgłasza zdarzenie.

protected:
 virtual void OnSelectionChangeCommitted(EventArgs ^ e);
protected virtual void OnSelectionChangeCommitted (EventArgs e);
abstract member OnSelectionChangeCommitted : EventArgs -> unit
override this.OnSelectionChangeCommitted : EventArgs -> unit
Protected Overridable Sub OnSelectionChangeCommitted (e As EventArgs)

Parametry

e
EventArgs

Element EventArgs zawierający dane zdarzenia.

Przykłady

Poniższy przykład kodu używa SelectionChangeCommitted zdarzenia i SelectionLength właściwości, aby zmienić długość pola tekstowego w zależności od wybranego i zatwierdzonego użytkownika.

void comboBox1_SelectionChangeCommitted( Object^ sender, EventArgs^ /*e*/ )
{
   ComboBox^ senderComboBox = dynamic_cast<ComboBox^>(sender);
   
   // Change the length of the text box depending on what the user has 
   // selected and committed using the SelectionLength property.
   if ( senderComboBox->SelectionLength > 0 )
   {
       textbox1->Width = 
           senderComboBox->SelectedItem->ToString()->Length * 
           ((int)this->textbox1->Font->SizeInPoints);
       textbox1->Text = senderComboBox->SelectedItem->ToString();				
   }
}
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
{

    ComboBox senderComboBox = (ComboBox) sender;
  
    // Change the length of the text box depending on what the user has 
    // selected and committed using the SelectionLength property.
    if (senderComboBox.SelectionLength > 0)
    {
        textbox1.Width = 
            senderComboBox.SelectedItem.ToString().Length *
            ((int) this.textbox1.Font.SizeInPoints);
        textbox1.Text = senderComboBox.SelectedItem.ToString();
    }
}
Private Sub comboBox1_SelectionChangeCommitted(ByVal sender _
As Object, ByVal e As EventArgs) _
Handles comboBox1.SelectionChangeCommitted

    Dim senderComboBox As ComboBox = CType(sender, ComboBox)

    ' Change the length of the text box depending on what the user has 
    ' selected and committed using the SelectionLength property.
    If (senderComboBox.SelectionLength > 0) Then
        textbox1.Width = _
            senderComboBox.SelectedItem.ToString().Length() * _
            CType(Me.textbox1.Font.SizeInPoints, Integer)
        textbox1.Text = senderComboBox.SelectedItem.ToString()
    End If
End Sub

Uwagi

Element SelectionChangeCommitted jest zgłaszany tylko wtedy, gdy użytkownik zmieni zaznaczenie pola kombi lub po ustawieniu wartości SelectedIndex. Jednak w zależności od ComboBox sposobu konfiguracji i sposobu zmiany wybranego elementu SelectionChangeCommitted przez użytkownika zdarzenie może nie zostać podniesione. Alternatywnie można obsłużyć SelectedIndexChangedelement , ale należy pamiętać, że to zdarzenie ma miejsce, czy indeks jest zmieniany programowo, czy przez użytkownika.

Podnoszenie zdarzenia wywołuje program obsługi zdarzeń przez delegata. Aby uzyskać więcej informacji, zobacz Obsługa i podnoszenie zdarzeń.

Metoda OnSelectionChangeCommitted umożliwia również klasom pochodnym obsługę zdarzenia bez dołączania delegata. Jest to preferowana technika obsługi zdarzenia w klasie pochodnej.

Uwagi dotyczące dziedziczenia

Podczas zastępowania OnSelectionChangeCommitted(EventArgs) w klasie pochodnej należy wywołać metodę klasy OnSelectionChangeCommitted(EventArgs) bazowej, aby zarejestrowani delegaci otrzymywali zdarzenie.

Dotyczy