作成日: 2018/09/04 最終更新日: 2018/09/04
文書種別
使用方法
詳細
列データをフィルタリングする時に表示されるフィルタエディタには、デフォルトで「適用/キャンセル/リセット」の順でボタンが表示されます。
この表示順を変更するには、MouseClickイベントでフィルタエディタフォーム上のコントロール・アイテム(例:キャンセルボタン)をToolStripButtonオブジェクトにキャストし、これを追加した新規のMenuStripを、フィルタエディタフォームのコントロールに追加します。
例えば「キャンセル」ボタンを最も左側に表示させるには、FilterEditorForm上のコントロールのItems(0)を対象として上記手順を実行します。
※以下のサンプルコードを実行すると、「キャンセル/適用/リセット」の順にボタンが表示されます。
◎サンプルコード(VB)
◎サンプルコード(C#)
この表示順を変更するには、MouseClickイベントでフィルタエディタフォーム上のコントロール・アイテム(例:キャンセルボタン)をToolStripButtonオブジェクトにキャストし、これを追加した新規のMenuStripを、フィルタエディタフォームのコントロールに追加します。
例えば「キャンセル」ボタンを最も左側に表示させるには、FilterEditorForm上のコントロールのItems(0)を対象として上記手順を実行します。
※以下のサンプルコードを実行すると、「キャンセル/適用/リセット」の順にボタンが表示されます。
◎サンプルコード(VB)
Private Sub C1FlexGrid1_MouseClick(sender As Object, e As MouseEventArgs) Handles C1FlexGrid1.MouseClick
If (C1FlexGrid1.HitTest(e.Location).Type = HitTestTypeEnum.FilterIcon) Then
'キャンセルボタンを左側に表示する場合
For Each frm As Form In Application.OpenForms
If (frm.Name = "FilterEditorForm" And frm.GetType().ToString() = "C1.Win.C1FlexGrid.FilterEditorForm") Then
Dim _btnItem As ToolStripButton
' キャンセルボタンを左側に表示
_btnItem = (CType((CType(frm.Controls(0), ToolStrip)).Items(0), ToolStripButton))
'(リセットボタンを左側に表示する場合)
'_btnItem = (CType((CType(frm.Controls(1), ToolStrip)).Items(1), ToolStripButton))
'(適用ボタンを左側に表示する場合)
'_btnItem = (CType((CType(frm.Controls(2), ToolStrip)).Items(2), ToolStripButton))
Dim mnStrip As MenuStrip = New MenuStrip()
mnStrip.Items.Add(_btnItem)
mnStrip.Dock = DockStyle.Bottom
mnStrip.Dock = DockStyle.Left
frm.MainMenuStrip = mnStrip
frm.Controls.Add(mnStrip)
End If
Next
End If
End Sub
If (C1FlexGrid1.HitTest(e.Location).Type = HitTestTypeEnum.FilterIcon) Then
'キャンセルボタンを左側に表示する場合
For Each frm As Form In Application.OpenForms
If (frm.Name = "FilterEditorForm" And frm.GetType().ToString() = "C1.Win.C1FlexGrid.FilterEditorForm") Then
Dim _btnItem As ToolStripButton
' キャンセルボタンを左側に表示
_btnItem = (CType((CType(frm.Controls(0), ToolStrip)).Items(0), ToolStripButton))
'(リセットボタンを左側に表示する場合)
'_btnItem = (CType((CType(frm.Controls(1), ToolStrip)).Items(1), ToolStripButton))
'(適用ボタンを左側に表示する場合)
'_btnItem = (CType((CType(frm.Controls(2), ToolStrip)).Items(2), ToolStripButton))
Dim mnStrip As MenuStrip = New MenuStrip()
mnStrip.Items.Add(_btnItem)
mnStrip.Dock = DockStyle.Bottom
mnStrip.Dock = DockStyle.Left
frm.MainMenuStrip = mnStrip
frm.Controls.Add(mnStrip)
End If
Next
End If
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_MouseClick(object sender, MouseEventArgs e)
{
if (c1FlexGrid1.HitTest(e.Location).Type == HitTestTypeEnum.FilterIcon)
{
foreach (Form frm in Application.OpenForms)
{
// キャンセルボタンを左側に表示する場合
if (frm.Name == "FilterEditorForm" & frm.GetType().ToString() == "C1.Win.C1FlexGrid.FilterEditorForm")
{
ToolStripButton _btnItem;
// キャンセルボタンを左側に表示
_btnItem = ((ToolStripButton)((ToolStrip)frm.Controls[0]).Items[0]);
//(リセットボタンを左側に表示する場合)
//_btnItem = ((ToolStripButton)((ToolStrip)frm.Controls[0]).Items[1]);
//(適用ボタンを左側に表示する場合)
//_btnItem = ((ToolStripButton)((ToolStrip)frm.Controls[0]).Items[2]);
MenuStrip mnStrip = new MenuStrip();
mnStrip.Items.Add(_btnItem);
mnStrip.Dock = DockStyle.Bottom;
mnStrip.Dock = DockStyle.Left;
frm.MainMenuStrip = mnStrip;
frm.Controls.Add(mnStrip);
}
}
}
}
{
if (c1FlexGrid1.HitTest(e.Location).Type == HitTestTypeEnum.FilterIcon)
{
foreach (Form frm in Application.OpenForms)
{
// キャンセルボタンを左側に表示する場合
if (frm.Name == "FilterEditorForm" & frm.GetType().ToString() == "C1.Win.C1FlexGrid.FilterEditorForm")
{
ToolStripButton _btnItem;
// キャンセルボタンを左側に表示
_btnItem = ((ToolStripButton)((ToolStrip)frm.Controls[0]).Items[0]);
//(リセットボタンを左側に表示する場合)
//_btnItem = ((ToolStripButton)((ToolStrip)frm.Controls[0]).Items[1]);
//(適用ボタンを左側に表示する場合)
//_btnItem = ((ToolStripButton)((ToolStrip)frm.Controls[0]).Items[2]);
MenuStrip mnStrip = new MenuStrip();
mnStrip.Items.Add(_btnItem);
mnStrip.Dock = DockStyle.Bottom;
mnStrip.Dock = DockStyle.Left;
frm.MainMenuStrip = mnStrip;
frm.Controls.Add(mnStrip);
}
}
}
}
関連情報
旧文書番号
83194