Поделиться через


ComboBox.OnSelectionChangeCommitted(EventArgs) Метод

Определение

Вызывает событие SelectionChangeCommitted.

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)

Параметры

e
EventArgs

Объект класса EventArgs, содержащий данные события.

Примеры

В следующем примере кода используются SelectionChangeCommitted событие и свойство , SelectionLength чтобы изменить длину текстового поля в зависимости от того, что пользователь выбрал и зафиксировал.

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

Комментарии

Вызывается SelectionChangeCommitted только при изменении пользователем выбора поля со списком или при установке SelectedIndex. Однако в зависимости от того, как ComboBox настроен и как пользователь изменяет выбранный элемент, SelectionChangeCommitted событие может не вызываться. Кроме того, можно обработать SelectedIndexChanged, но обратите внимание, что это событие происходит независимо от того, изменяется ли индекс программным путем или пользователем.

При возникновении события через делегат вызывается обработчик события. Дополнительные сведения см. в разделе Обработка и вызов событий.

Метод OnSelectionChangeCommitted также позволяет производным классам обрабатывать событие, не присоединяя делегат. Это предпочтительная методика обработки событий в производном классе.

Примечания для тех, кто наследует этот метод

При переопределении метода OnSelectionChangeCommitted(EventArgs) в производном классе нужно убедиться, что вызывается метод OnSelectionChangeCommitted(EventArgs) базового класса, чтобы зарегистрированные делегаты получили событие.

Применяется к