作成日: 2015/10/01 最終更新日: 2015/10/01
文書種別
制限事項
詳細
C1ComboBoxのIsTabStopプロパティにFalseが設定されているとき、C1ComboBoxを選択したり、IsEnabledプロパティを切り替えたりすると、TabでC1ComboBoxにフォーカスが移動します。
回避方法
KeyboardNavigation.SetTabNavigationメソッドを使用し、C1ComboBoxの既定のTabナビゲーションを無効にした後、必要なタイミングでC1ComboBoxのIsTabStopを更新します。
下記サンプルコードでは、ウィンドウのKeyDownイベントにてC1ComboBoxのIsTabStopを更新しています。
◎サンプルコード(Visual Basic)
◎サンプルコード(C#)
下記サンプルコードでは、ウィンドウのKeyDownイベントにてC1ComboBoxのIsTabStopを更新しています。
◎サンプルコード(Visual Basic)
Private _isTabStop As Boolean
Private Sub MainWindow_Initialized(sender As Object, e As EventArgs)
KeyboardNavigation.SetTabNavigation(Me.TestComboBox, KeyboardNavigationMode.None)
AddHandler Me.KeyDown, AddressOf form_KeyDown
_isTabStop = Me.TestComboBox.IsTabStop
End Sub
Private Sub form_KeyDown(sender As Object, e As KeyEventArgs)
If e.Key = Key.Tab Then
Me.TestComboBox.IsTabStop = _isTabStop
End If
End Sub
Private Sub TabStop_Click(sender As Object, e As RoutedEventArgs)
If Me.TestComboBox.IsTabStop = True Then
Me.TestComboBox.IsTabStop = False
_isTabStop = False
Else
Me.TestComboBox.IsTabStop = True
_isTabStop = True
End If
End Sub
Private Sub MainWindow_Initialized(sender As Object, e As EventArgs)
KeyboardNavigation.SetTabNavigation(Me.TestComboBox, KeyboardNavigationMode.None)
AddHandler Me.KeyDown, AddressOf form_KeyDown
_isTabStop = Me.TestComboBox.IsTabStop
End Sub
Private Sub form_KeyDown(sender As Object, e As KeyEventArgs)
If e.Key = Key.Tab Then
Me.TestComboBox.IsTabStop = _isTabStop
End If
End Sub
Private Sub TabStop_Click(sender As Object, e As RoutedEventArgs)
If Me.TestComboBox.IsTabStop = True Then
Me.TestComboBox.IsTabStop = False
_isTabStop = False
Else
Me.TestComboBox.IsTabStop = True
_isTabStop = True
End If
End Sub
◎サンプルコード(C#)
private bool _isTabStop;
private void Window_Initialized(object sender, EventArgs e)
{
KeyboardNavigation.SetTabNavigation(this.TestComboBox, KeyboardNavigationMode.None);
this.KeyDown += new KeyEventHandler(form_KeyDown);
_isTabStop = this.TestComboBox.IsTabStop;
}
private void form_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab)
this.TestComboBox.IsTabStop = _isTabStop;
}
private void TabStop_Click(object sender, RoutedEventArgs e)
{
if (this.TestComboBox.IsTabStop)
{
this.TestComboBox.IsTabStop = false;
_isTabStop = false;
}
else
{
this.TestComboBox.IsTabStop = true;
_isTabStop = true;
}
}
private void Window_Initialized(object sender, EventArgs e)
{
KeyboardNavigation.SetTabNavigation(this.TestComboBox, KeyboardNavigationMode.None);
this.KeyDown += new KeyEventHandler(form_KeyDown);
_isTabStop = this.TestComboBox.IsTabStop;
}
private void form_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Tab)
this.TestComboBox.IsTabStop = _isTabStop;
}
private void TabStop_Click(object sender, RoutedEventArgs e)
{
if (this.TestComboBox.IsTabStop)
{
this.TestComboBox.IsTabStop = false;
_isTabStop = false;
}
else
{
this.TestComboBox.IsTabStop = true;
_isTabStop = true;
}
}
旧文書番号
81463