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)
Параметры
Примеры
В следующем примере кода используется 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) , чтобы зарегистрированные делегаты получали событие.