แก้ไข

แชร์ผ่าน


ComboBox.OnSelectionChangeCommitted(EventArgs) Method

Definition

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)

Parameters

e
EventArgs

An EventArgs that contains the event data.

Examples

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

Remarks

The SelectionChangeCommitted is raised only when the user changes the combo box selection, or when you set the SelectedIndex. However, depending on how the ComboBox is configured, and how the user changes the selected item, the SelectionChangeCommitted event may not be raised. 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.

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.

Notes to Inheritors

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.

Applies to