上書き/挿入モードを実装する方法は?
対象製品
FlexGrid for .NET 3.0J
詳細
FlexGridには上書き/挿入モードの設定が用意されていません。下記のサンプルコードでは、編集開始時に上書き/挿入モードのような処理を実装する方法を紹介しています。セルの移動時に発生するRowColChangeイベントにてStartEditingメソッドで編集モードに移行した上で、上書きモードの場合は編集エディタ内のテキストを全選択します。挿入モードの場合は、StartEditingメソッドを実行して、入力キャレットをテキストの最後に設定します。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Private Sub flex_RowColChange(・・・
If flex.Row > 0 And flex.Col > 0 Then
flex.StartEditing()
Dim tb As New TextBox
tb = CType(flex.Editor, TextBox)
' 上書きモード(テキスト全選択)
tb.SelectAll()
'' 挿入モード(入力キャレットをテキストの最後に設定)
'tb.SelectionStart = tb.TextLength
End If
End Sub
If flex.Row > 0 And flex.Col > 0 Then
flex.StartEditing()
Dim tb As New TextBox
tb = CType(flex.Editor, TextBox)
' 上書きモード(テキスト全選択)
tb.SelectAll()
'' 挿入モード(入力キャレットをテキストの最後に設定)
'tb.SelectionStart = tb.TextLength
End If
End Sub
◎サンプルコード(C#)
private void flex_RowColChange(・・・
{
if((flex.Row > 0) && (flex.Col > 0))
{
flex.StartEditing();
TextBox tb = new TextBox();
tb = (TextBox)flex.Editor;
// 上書きモード(テキスト全選択)
tb.SelectAll();
// 挿入モード(入力キャレットをテキストの最後に設定)
//tb.SelectionStart = tb.TextLength;
}
}
{
if((flex.Row > 0) && (flex.Col > 0))
{
flex.StartEditing();
TextBox tb = new TextBox();
tb = (TextBox)flex.Editor;
// 上書きモード(テキスト全選択)
tb.SelectAll();
// 挿入モード(入力キャレットをテキストの最後に設定)
//tb.SelectionStart = tb.TextLength;
}
}
キーワード
HowTo 入力・表示
この文書は、以前は次のFAQ IDで公開されていました : 9537