作成日: 2014/09/26 最終更新日: 2014/09/26
文書種別
使用方法
詳細
グリッドのコンテキストメニュー
グリッドのContextMenuStripプロパティを使用します。デフォルトでは設定されていませんので、標準のContextMenuStripコントロールを設定してください。
◎サンプルコード(VB)
◎サンプルコード(C#)
// ContextMenuStripコントロールを作成
ContextMenuStrip GridContextMenuS;
GridContextMenuS = new ContextMenuStrip();
GridContextMenuS.Items.Add("AAA");
GridContextMenuS.Items.Add("BBB");
GridContextMenuS.Items.Add("CCC");
// グリッドに設定
c1TrueDBGrid1.ContextMenuStrip = GridContextMenuS;
編集時のコンテキストメニュー
編集中の場合は、組み込みのグリッドエディタがアクティブになります。この状態、グリッドエディタを右クリックした際に表示されるのは、グリッドエディタのコンテキストメニューになります。そのため、編集中のエディタ内で別途コンテキストメニューを設定する場合は、グリッドエディタに対してコンテキストメニューを設定する必要があります。カスタムエディタを使用している場合は、カスタムエディタに対してコンテキストメニューを設定します。
◎サンプルコード(VB)
◎サンプルコード(C#)
private ContextMenuStrip EditorContextMenuS;
private void Form1_Load(object sender, EventArgs e)
{
...
// (組み込み)グリッドエディタ用コンテキストメニュー
EditorContextMenuS = new ContextMenuStrip();
EditorContextMenuS.Items.Add("DDD");
EditorContextMenuS.Items.Add("EEE");
EditorContextMenuS.Items.Add("FFF");
// カスタムエディタ用コンテキストメニュー
ContextMenuStrip CustomEditorContextMenuS;
CustomEditorContextMenuS = new ContextMenuStrip();
CustomEditorContextMenuS.Items.Add("GGG");
CustomEditorContextMenuS.Items.Add("HHH");
CustomEditorContextMenuS.Items.Add("III");
// カスタムエディタのコンテキストメニューを設定
DomainUpDown dud = new DomainUpDown();
c1TrueDBGrid1.Columns[3].Editor = dud;
c1TrueDBGrid1.Columns[3].Editor.ContextMenuStrip = CustomEditorContextMenuS;
}
// (組込みの)グリッドエディタ
private void c1TrueDBGrid1_MouseDown(object sender, MouseEventArgs e)
{
// マウスの右クリック
if (e.Button == MouseButtons.Right)
{
foreach (Control c in c1TrueDBGrid1.Controls)
{
if (c is TextBox)
{
// コンテキストメニューを設定
c.ContextMenuStrip = EditorContextMenuS;
}
}
}
}
グリッドのContextMenuStripプロパティを使用します。デフォルトでは設定されていませんので、標準のContextMenuStripコントロールを設定してください。
◎サンプルコード(VB)
' ContextMenuStripコントロールを作成
Dim GridContextMenuS As ContextMenuStrip
GridContextMenuS = New ContextMenuStrip
GridContextMenuS.Items.Add("AAA")
GridContextMenuS.Items.Add("BBB")
GridContextMenuS.Items.Add("CCC")
' グリッドに設定
C1TrueDBGrid1.ContextMenuStrip = GridContextMenuS
Dim GridContextMenuS As ContextMenuStrip
GridContextMenuS = New ContextMenuStrip
GridContextMenuS.Items.Add("AAA")
GridContextMenuS.Items.Add("BBB")
GridContextMenuS.Items.Add("CCC")
' グリッドに設定
C1TrueDBGrid1.ContextMenuStrip = GridContextMenuS
◎サンプルコード(C#)
// ContextMenuStripコントロールを作成
ContextMenuStrip GridContextMenuS;
GridContextMenuS = new ContextMenuStrip();
GridContextMenuS.Items.Add("AAA");
GridContextMenuS.Items.Add("BBB");
GridContextMenuS.Items.Add("CCC");
// グリッドに設定
c1TrueDBGrid1.ContextMenuStrip = GridContextMenuS;
編集時のコンテキストメニュー
編集中の場合は、組み込みのグリッドエディタがアクティブになります。この状態、グリッドエディタを右クリックした際に表示されるのは、グリッドエディタのコンテキストメニューになります。そのため、編集中のエディタ内で別途コンテキストメニューを設定する場合は、グリッドエディタに対してコンテキストメニューを設定する必要があります。カスタムエディタを使用している場合は、カスタムエディタに対してコンテキストメニューを設定します。
◎サンプルコード(VB)
Private EditorContextMenuS As ContextMenuStrip
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
...
' (組み込み)グリッドエディタ用コンテキストメニュー
EditorContextMenuS = New ContextMenuStrip
EditorContextMenuS.Items.Add("DDD")
EditorContextMenuS.Items.Add("EEE")
EditorContextMenuS.Items.Add("FFF")
' カスタムエディタ用コンテキストメニュー
Dim CustomEditorContextMenuS As ContextMenuStrip
CustomEditorContextMenuS = New ContextMenuStrip
CustomEditorContextMenuS.Items.Add("GGG")
CustomEditorContextMenuS.Items.Add("HHH")
CustomEditorContextMenuS.Items.Add("III")
' カスタムエディタのコンテキストメニューを設定
Dim dud As New DomainUpDown
C1TrueDBGrid1.Columns(3).Editor = dud
C1TrueDBGrid1.Columns(3).Editor.ContextMenuStrip = CustomEditorContextMenuS
End Sub
' (組込みの)グリッドエディタ
Private Sub C1TrueDBGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1TrueDBGrid1.MouseDown
' マウスの右クリック
If e.Button = MouseButtons.Right Then
For Each c As Control In C1TrueDBGrid1.Controls
If TypeOf (c) Is TextBox Then
' コンテキストメニューを設定
CType(c, TextBox).ContextMenuStrip = EditorContextMenuS
End If
Next
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
...
' (組み込み)グリッドエディタ用コンテキストメニュー
EditorContextMenuS = New ContextMenuStrip
EditorContextMenuS.Items.Add("DDD")
EditorContextMenuS.Items.Add("EEE")
EditorContextMenuS.Items.Add("FFF")
' カスタムエディタ用コンテキストメニュー
Dim CustomEditorContextMenuS As ContextMenuStrip
CustomEditorContextMenuS = New ContextMenuStrip
CustomEditorContextMenuS.Items.Add("GGG")
CustomEditorContextMenuS.Items.Add("HHH")
CustomEditorContextMenuS.Items.Add("III")
' カスタムエディタのコンテキストメニューを設定
Dim dud As New DomainUpDown
C1TrueDBGrid1.Columns(3).Editor = dud
C1TrueDBGrid1.Columns(3).Editor.ContextMenuStrip = CustomEditorContextMenuS
End Sub
' (組込みの)グリッドエディタ
Private Sub C1TrueDBGrid1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles C1TrueDBGrid1.MouseDown
' マウスの右クリック
If e.Button = MouseButtons.Right Then
For Each c As Control In C1TrueDBGrid1.Controls
If TypeOf (c) Is TextBox Then
' コンテキストメニューを設定
CType(c, TextBox).ContextMenuStrip = EditorContextMenuS
End If
Next
End If
End Sub
◎サンプルコード(C#)
private ContextMenuStrip EditorContextMenuS;
private void Form1_Load(object sender, EventArgs e)
{
...
// (組み込み)グリッドエディタ用コンテキストメニュー
EditorContextMenuS = new ContextMenuStrip();
EditorContextMenuS.Items.Add("DDD");
EditorContextMenuS.Items.Add("EEE");
EditorContextMenuS.Items.Add("FFF");
// カスタムエディタ用コンテキストメニュー
ContextMenuStrip CustomEditorContextMenuS;
CustomEditorContextMenuS = new ContextMenuStrip();
CustomEditorContextMenuS.Items.Add("GGG");
CustomEditorContextMenuS.Items.Add("HHH");
CustomEditorContextMenuS.Items.Add("III");
// カスタムエディタのコンテキストメニューを設定
DomainUpDown dud = new DomainUpDown();
c1TrueDBGrid1.Columns[3].Editor = dud;
c1TrueDBGrid1.Columns[3].Editor.ContextMenuStrip = CustomEditorContextMenuS;
}
// (組込みの)グリッドエディタ
private void c1TrueDBGrid1_MouseDown(object sender, MouseEventArgs e)
{
// マウスの右クリック
if (e.Button == MouseButtons.Right)
{
foreach (Control c in c1TrueDBGrid1.Controls)
{
if (c is TextBox)
{
// コンテキストメニューを設定
c.ContextMenuStrip = EditorContextMenuS;
}
}
}
}
旧文書番号
69952