作成日: 2022/09/05 最終更新日: 2022/09/05
文書種別
使用方法
詳細
セルをダブルクリックすると編集モードになります。
このときセル内のテキストを全選択状態にするには、DoubleClickイベントまたはMouseDoubleClickイベントにて、非同期でSelectAllメソッドを実行し、エディタ上のすべての文字列を選択する方法が考えられます。
◎サンプルコード(VB)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
c1FlexGrid1.Rows.Count = 11
c1FlexGrid1.Cols.Count = 5
Dim i, j As Integer
For i = 1 To c1FlexGrid1.Rows.Count - 1
For j = 1 To c1FlexGrid1.Cols.Count - 1
c1FlexGrid1(i, j) = i.ToString("00") + "_" + j.ToString("00")
Next
Next
End Sub
Private Sub c1FlexGrid1_DoubleClick(sender As Object, e As EventArgs) Handles c1FlexGrid1.DoubleClick
If TypeOf c1FlexGrid1.Editor Is TextBox Then
Dim editor = DirectCast(c1FlexGrid1.Editor, TextBox)
editor.BeginInvoke(New MethodInvoker(Sub()
editor.SelectAll()
End Sub))
End If
End Sub
Private Sub c1FlexGrid1_MouseDoubleClick(sender As Object, e As MouseEventArgs) Handles c1FlexGrid1.MouseDoubleClick
'If TypeOf c1FlexGrid1.Editor Is TextBox Then
' Dim editor = DirectCast(c1FlexGrid1.Editor, TextBox)
' editor.BeginInvoke(New MethodInvoker(Sub()
' editor.SelectAll()
' End Sub))
'End If
End Sub
End Class
◎サンプルコード(C#)
namespace prj_C1FlexGrid
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
c1FlexGrid1.Rows.Count = 11;
c1FlexGrid1.Cols.Count = 5;
for (int i = 1; i < c1FlexGrid1.Rows.Count; i++)
{
for (int j = 1; j < c1FlexGrid1.Cols.Count; j++)
{
c1FlexGrid1[i, j] = i.ToString("00") + "_" + j.ToString("00");
}
}
}
private void c1FlexGrid1_DoubleClick(object sender, EventArgs e)
{
if (c1FlexGrid1.Editor.GetType().Name == "GridEditorTextBox")
{
TextBox editor = (TextBox)c1FlexGrid1.Editor;
editor.BeginInvoke(new MethodInvoker(() =>
{
editor.SelectAll();
}));
}
}
private void c1FlexGrid1_MouseDoubleClick(object sender, MouseEventArgs e)
{
//if (c1FlexGrid1.Editor.GetType().Name == "GridEditorTextBox")
//{
// TextBox editor = (TextBox)c1FlexGrid1.Editor;
// editor.BeginInvoke(new MethodInvoker(() =>
// {
// editor.SelectAll();
// }));
//}
}
}
}