作成日: 2019/01/30 最終更新日: 2019/01/30
文書種別
使用方法
詳細
長いテキストを含むセルを選択したとき、そのセル内にスクロールバーを表示して見やすくする方法をご紹介します。
これを行うには、最初に、MultilineとWordWrapプロパティをTrueに、ScrollBarsプロパティをVerticalに設定した標準のTextBoxコントロールを、列のエディタとして割り当てます。次いで、AfterRowColChangeイベントで、C1FlexGridのStartEditingメソッドを使用して、選択したセルの編集を開始します。
◎サンプルコード(VB)
◎サンプルコード(C#)
これを行うには、最初に、MultilineとWordWrapプロパティをTrueに、ScrollBarsプロパティをVerticalに設定した標準のTextBoxコントロールを、列のエディタとして割り当てます。次いで、AfterRowColChangeイベントで、C1FlexGridのStartEditingメソッドを使用して、選択したセルの編集を開始します。
◎サンプルコード(VB)
Imports C1.Win.C1FlexGrid
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
C1FlexGrid1.Rows(1).HeightDisplay = C1FlexGrid1.Rows(1).HeightDisplay + 50
Dim txtBox As TextBox = New TextBox
txtBox.Multiline = True
txtBox.ScrollBars = ScrollBars.Vertical
txtBox.WordWrap = True
C1FlexGrid1.Cols(1).Editor = txtBox
C1FlexGrid1(1, 1) = "FlexGridを使うと、表形式のデータ表示・編集・フォーマット・印刷等を行えるユーザーフレンドリなUIを作成できます。"
C1FlexGrid1.Select(1, 1)
C1FlexGrid1.StartEditing(1, 1)
End Sub
Private Sub C1FlexGrid1_AfterRowColChange(ByVal sender As Object, ByVal e As RangeEventArgs)
If (TypeOf C1FlexGrid1.Cols(e.NewRange.c1).Editor Is TextBox) Then
Dim txtBox As TextBox = CType(C1FlexGrid1.Cols(e.NewRange.c1).Editor, TextBox)
C1FlexGrid1.StartEditing(e.NewRange.r1, e.NewRange.c1)
txtBox.SelectionStart = txtBox.Text.Length
End If
End Sub
End Class
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
C1FlexGrid1.Rows(1).HeightDisplay = C1FlexGrid1.Rows(1).HeightDisplay + 50
Dim txtBox As TextBox = New TextBox
txtBox.Multiline = True
txtBox.ScrollBars = ScrollBars.Vertical
txtBox.WordWrap = True
C1FlexGrid1.Cols(1).Editor = txtBox
C1FlexGrid1(1, 1) = "FlexGridを使うと、表形式のデータ表示・編集・フォーマット・印刷等を行えるユーザーフレンドリなUIを作成できます。"
C1FlexGrid1.Select(1, 1)
C1FlexGrid1.StartEditing(1, 1)
End Sub
Private Sub C1FlexGrid1_AfterRowColChange(ByVal sender As Object, ByVal e As RangeEventArgs)
If (TypeOf C1FlexGrid1.Cols(e.NewRange.c1).Editor Is TextBox) Then
Dim txtBox As TextBox = CType(C1FlexGrid1.Cols(e.NewRange.c1).Editor, TextBox)
C1FlexGrid1.StartEditing(e.NewRange.r1, e.NewRange.c1)
txtBox.SelectionStart = txtBox.Text.Length
End If
End Sub
End Class
◎サンプルコード(C#)
using C1.Win.C1FlexGrid;
namespace Prj_ScrollbarsInCell
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
c1FlexGrid1.AfterRowColChange += C1FlexGrid1_AfterRowColChange;
c1FlexGrid1.Rows[1].HeightDisplay += 50;
TextBox txtBox = new TextBox();
txtBox.Multiline = true;
txtBox.ScrollBars = ScrollBars.Vertical;
txtBox.WordWrap = true;
c1FlexGrid1.Cols[1].Editor = txtBox;
c1FlexGrid1[1, 1] = "lexGridを使うと、表形式のデータ表示・編集・フォーマット・印刷等を行えるユーザーフレンドリなUIを作成できます。";
c1FlexGrid1.Select(1, 1);
c1FlexGrid1.StartEditing(1, 1);
}
private void C1FlexGrid1_AfterRowColChange(object sender, RangeEventArgs e)
{
if (c1FlexGrid1.Cols[e.NewRange.c1].Editor is TextBox)
{
TextBox txtBox = c1FlexGrid1.Cols[e.NewRange.c1].Editor as TextBox;
c1FlexGrid1.StartEditing(e.NewRange.r1, e.NewRange.c1);
txtBox.SelectionStart = txtBox.Text.Length;
}
}
}
}
namespace Prj_ScrollbarsInCell
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
c1FlexGrid1.AfterRowColChange += C1FlexGrid1_AfterRowColChange;
c1FlexGrid1.Rows[1].HeightDisplay += 50;
TextBox txtBox = new TextBox();
txtBox.Multiline = true;
txtBox.ScrollBars = ScrollBars.Vertical;
txtBox.WordWrap = true;
c1FlexGrid1.Cols[1].Editor = txtBox;
c1FlexGrid1[1, 1] = "lexGridを使うと、表形式のデータ表示・編集・フォーマット・印刷等を行えるユーザーフレンドリなUIを作成できます。";
c1FlexGrid1.Select(1, 1);
c1FlexGrid1.StartEditing(1, 1);
}
private void C1FlexGrid1_AfterRowColChange(object sender, RangeEventArgs e)
{
if (c1FlexGrid1.Cols[e.NewRange.c1].Editor is TextBox)
{
TextBox txtBox = c1FlexGrid1.Cols[e.NewRange.c1].Editor as TextBox;
c1FlexGrid1.StartEditing(e.NewRange.r1, e.NewRange.c1);
txtBox.SelectionStart = txtBox.Text.Length;
}
}
}
}
旧文書番号
83593