ComboBox.OnSelectionChangeCommitted(EventArgs) Метод

Определение

Создает событие SelectionChangeCommitted.Raises the SelectionChangeCommitted event.

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, содержащий данные события.An EventArgs that contains the event data.

Примеры

В следующем примере кода используется событие SelectionChangeCommitted и свойство SelectionLength для изменения длины текстового поля в зависимости от того, что пользователь выбрал и зафиксировал.The following code example uses the SelectionChangeCommitted event and the SelectionLength property to change the length of the text box depending on what the user has selected and committed.

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.The SelectionChangeCommitted is raised only when the user changes the combo box selection, or when you set the SelectedIndex. Однако в зависимости от того, как настроена ComboBox и как пользователь изменяет выбранный элемент, событие SelectionChangeCommitted может быть не вызвано.However, depending on how the ComboBox is configured, and how the user changes the selected item, the SelectionChangeCommitted event may not be raised. Кроме того, можно выполнить обработку SelectedIndexChanged, но обратите внимание, что это событие возникает независимо от того, был ли индекс изменен программным путем или пользователем.Alternatively, you can handle the SelectedIndexChanged, but note that this event occurs whether the index is changed programmatically or by the user.

При возникновении события через делегат вызывается обработчик события.Raising an event invokes the event handler through a delegate. Дополнительные сведения см. в разделе обработка и вызов событий.For more information, see Handling and Raising Events.

Метод OnSelectionChangeCommitted также позволяет производным классам обрабатывать событие, не присоединяя делегат.The OnSelectionChangeCommitted method also allows derived classes to handle the event without attaching a delegate. Это предпочтительная методика обработки событий в производном классе.This is the preferred technique for handling the event in a derived class.

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

При переопределении метода OnSelectionChangeCommitted(EventArgs) в производном классе нужно убедиться, что вызывается метод OnSelectionChangeCommitted(EventArgs) базового класса, чтобы зарегистрированные делегаты получили событие.When overriding OnSelectionChangeCommitted(EventArgs) in a derived class, be sure to call the base class's OnSelectionChangeCommitted(EventArgs) method so that registered delegates receive the event.

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