作成日: 2017/07/26 最終更新日: 2017/07/26
文書種別
技術情報
詳細
GcMultiRowコントロールのセルが編集中のとき、Form.ActiveControlプロパティにはセルの編集コントロールが参照されるため、Form.ActiveControl.Nameプロパティを使用してGcMultiRowコントロールを識別することができません。
この場合、IEditingControl.GcMultiRowプロパティを使用してセル編集コントロールを保持するGcMultiRowコントロールを識別できます。
[Visual Basic]
[C#]
この場合、IEditingControl.GcMultiRowプロパティを使用してセル編集コントロールを保持するGcMultiRowコントロールを識別できます。
[Visual Basic]
Imports GrapeCity.Win.MultiRow Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load GcMultiRow1.Template = Template.Default ' 常時入力モード GcMultiRow1.EditMode = EditMode.EditOnEnter ' コントロールの前にフォームでキーイベントを受け取る Me.KeyPreview = True End Sub Private Sub Form1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress If TypeOf Me.ActiveControl Is IEditingControl Then Dim cellEditingControl As IEditingControl = _ DirectCast(Me.ActiveControl, IEditingControl) Console.WriteLine(cellEditingControl.GcMultiRow.Name) End If End Sub
[C#]
using GrapeCity.Win.MultiRow;
private void Form1_Load(object sender, EventArgs e)
{
gcMultiRow1.Template = Template.Default;
// 常時入力モード
gcMultiRow1.EditMode = EditMode.EditOnEnter;
// コントロールの前にフォームでキーイベントを受け取る
this.KeyPreview = true;
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.ActiveControl is IEditingControl)
{
IEditingControl cellEditingControl = this.ActiveControl as IEditingControl;
Console.WriteLine(cellEditingControl.GcMultiRow.Name);
}
}
旧文書番号
40464