作成日: 2021/08/24 最終更新日: 2021/08/24
文書種別
不具合
状況
回避方法あり
詳細
EditOptionsプロパティのEditOnRequestフラグをオフにすると、Tabキーによるコントロール間のフォーカス移動ができなくなります。
KeyActionTabプロパティがデフォルトのNoneの場合、通常、Tabキー押下でフォーカスは次のコントロールに移動します。
しかし、EditOptionsプロパティのEditOnRequestフラグをオフにして常時入力モードにした場合、Tabキーを何度押下しても、次のコントロールにフォーカスが移動せず、フリーズしたようになります。
KeyActionTabプロパティがデフォルトのNoneの場合、通常、Tabキー押下でフォーカスは次のコントロールに移動します。
しかし、EditOptionsプロパティのEditOnRequestフラグをオフにして常時入力モードにした場合、Tabキーを何度押下しても、次のコントロールにフォーカスが移動せず、フリーズしたようになります。
回避方法
EditOptionsプロパティを既定値のAllに戻し、EnterイベントとEnterCellイベントでStartEditingメソッドを呼び出して編集 を開始することで、常時入力モードを実現します。
◎サンプルコード(VB)
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'' 現象が発生する設定
'C1FlexGrid1.EditOptions -= EditFlags.EditOnRequest
' 回避方法
C1FlexGrid1.EditOptions = EditFlags.All
End Sub
Private Sub C1FlexGrid1_Enter(sender As Object, e As EventArgs) Handles C1FlexGrid1.Enter
Dim grid As C1FlexGrid = CType(sender, C1FlexGrid)
If (grid.Editor Is Nothing) Then
grid.StartEditing
End If
End Sub
Private Sub C1FlexGrid1_EnterCell(sender As Object, e As EventArgs) Handles C1FlexGrid1.EnterCell
CType(sender, C1FlexGrid).StartEditing()
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
//// 現象が発生する設定
//c1FlexGrid1.EditOptions -= EditFlags.EditOnRequest;
// 回避方法
c1FlexGrid1.EditOptions = EditFlags.All;
}
private void c1FlexGrid1_Enter(object sender, EventArgs e)
{
var grid = sender as C1FlexGrid;
if (grid.Editor == null)
{
grid.StartEditing();
}
}