作成日: 2020/11/19 最終更新日: 2020/11/19
文書種別
使用方法
詳細
FlexGridでは、デフォルトの編集用エディタとして内部的に標準のTextBoxを使用しているため、編集時にセルを右クリックすると、Windows標準のコンテキストメニューが表示されます。
このコンテキストメニューの項目を変更したい場合は、独自のメニュー項目を設定したContextMenuStripを用意し、SetupEditorイベントで、これをテキストボックスのコンテキストメニューとして割り当てます。
以下に、2つの項目を持つコンテキストメニューを表示するサンプルコードを記載します。
◎サンプルコード(VB)
このコンテキストメニューの項目を変更したい場合は、独自のメニュー項目を設定したContextMenuStripを用意し、SetupEditorイベントで、これをテキストボックスのコンテキストメニューとして割り当てます。
以下に、2つの項目を持つコンテキストメニューを表示するサンプルコードを記載します。
◎サンプルコード(VB)
Dim cmenu As ContextMenuStrip
Dim tsi1, tsi2 As ToolStripMenuItem
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
cmenu = New ContextMenuStrip()
tsi1 = New ToolStripMenuItem()
tsi2 = New ToolStripMenuItem()
tsi1.Text = "項目01"
tsi2.Text = "項目02"
cmenu.Items.Add(tsi1)
cmenu.Items.Add(tsi2)
End Sub
Private Sub C1FlexGrid1_SetupEditor(sender As Object, e As C1.Win.C1FlexGrid.RowColEventArgs) Handles C1FlexGrid1.SetupEditor
Dim ctl As Control = C1FlexGrid1.Editor
If TypeOf ctl Is TextBox Then
ctl.ContextMenuStrip = cmenu
End If
End Sub
◎サンプルコード(C#) ContextMenuStrip cmenu;
ToolStripMenuItem tsi1, tsi2;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
cmenu = new ContextMenuStrip();
tsi1 = new ToolStripMenuItem();
tsi2 = new ToolStripMenuItem();
tsi1.Text = "項目01";
tsi2.Text = "項目02";
cmenu.Items.Add(tsi1);
cmenu.Items.Add(tsi2);
}
private void c1FlexGrid1_SetupEditor(object sender, C1.Win.C1FlexGrid.RowColEventArgs e)
{
Control ctl = (TextBox)c1FlexGrid1.Editor;
if (ctl is TextBox)
{
ctl.ContextMenuStrip = cmenu;
}
}
旧文書番号
86202