バージョン

MenuSettings プロパティ

プロバイダーが表示するメニューに関連付けられた設定のグループを提供します。
シンタックス
'宣言
 
Public ReadOnly Property MenuSettings As FilterUIProviderMenuSettings
public FilterUIProviderMenuSettings MenuSettings {get;}
解説

注: フィルタープロバイダーが表示されている間に、これらの設定のいずれかを変更しても効果はありません。これらのプロパティは、次にプロバイダーが表示されるまで維持されます。

使用例
Imports Infragistics.Win
Imports Infragistics.Win.SupportDialogs.FilterUIProvider

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) 
    Dim menuSettings As FilterUIProviderMenuSettings = Me.ultraGridFilterUIProvider1.MenuSettings 
    
    ' Set the default appearance of all tools that are shown by the provider to have a blue background 
    menuSettings.ToolAppearance.BackColor = Color.Blue 
    
    ' Show a checked item with a gray background. 
    menuSettings.CheckedAppearance.BackColor = Color.Gray 
End Sub 

Private Sub ultraGridFilterUIProvider1_AfterMenuPopulate(ByVal sender As Object, ByVal e As Infragistics.Win.SupportDialogs.FilterUIProvider.AfterMenuPopulateEventArgs) 
    ' Do unique processing for the tools that are on the root level of the menu 
    For Each tool As FilterTool In e.MenuItems 
        ' Instead of the default gray background on a checked item, have any checked items 
        ' on the root level have a red background. 
        If tool.Checked Then 
            tool.CheckedAppearance.BackColor = Color.Red 
        End If 
        
        Dim treeTool As FilterTreeTool = TryCast(tool, FilterTreeTool) 
        If treeTool IsNot Nothing Then 
            ' Set the tree to only drill down as far as the month of the date. This differs 
            ' from setting the DateHierarchyLevel on the FilterUIProviderTreeSettings in that 
            ' that setting will apply to all menus that the provider shows (as it can be 
            ' associated with multiple grids), while setting the property here allows 
            ' a more precise control over each instance. 
            treeTool.DateHierarchyLevel = DateHierarchyLevel.Month 
        Else 
            ' Process any child menu items 
            Dim menuTool As FilterMenuTool = TryCast(tool, FilterMenuTool) 
            If menuTool IsNot Nothing Then 
                Me.AfterMenuPopulateHelper(menuTool.Tools) 
            End If 
        End If 
    Next 
End Sub 

Private Sub AfterMenuPopulateHelper(ByVal tools As IList(Of FilterTool)) 
    ' Prepend the index of each tool to the displayed text 
    For i As Integer = 0 To tools.Count - 1 
        Dim tool As FilterTool = tools(i) 
        tool.DisplayText = String.Format("{0} - {1}", i, tool.DisplayText) 

        ' If the item is the first item in the group, bold the text
        if (i = 0 Or tool.IsFirstInGroup)
            tool.Appearance.FontData.Bold = DefaultableBoolean.True
        
        ' Do this recursively for any other menu tools 
        Dim menuTool As FilterMenuTool = TryCast(tool, FilterMenuTool) 
        If menuTool IsNot Nothing Then 
            Me.AfterMenuPopulateHelper(menuTool.Tools) 
        End If 
    Next 
End Sub
using Infragistics.Win;
using Infragistics.Win.SupportDialogs.FilterUIProvider;

private void Form1_Load(object sender, EventArgs e)
{
    FilterUIProviderMenuSettings menuSettings = this.ultraGridFilterUIProvider1.MenuSettings;

    // Set the default appearance of all tools that are shown by the provider to have a blue background
    menuSettings.ToolAppearance.BackColor = Color.Blue;

    // Show a checked item with a gray background.
    menuSettings.CheckedAppearance.BackColor = Color.Gray;
}

private void ultraGridFilterUIProvider1_AfterMenuPopulate(object sender, Infragistics.Win.SupportDialogs.FilterUIProvider.AfterMenuPopulateEventArgs e)
{
    // Do unique processing for the tools that are on the root level of the menu
    foreach (FilterTool tool in e.MenuItems)
    {
        // Instead of the default gray background on a checked item, have any checked items
        // on the root level have a red background.
        if (tool.Checked)
            tool.CheckedAppearance.BackColor = Color.Red;

        FilterTreeTool treeTool = tool as FilterTreeTool;
        if (treeTool != null)
        {
            // Set the tree to only drill down as far as the month of the date.  This differs
            // from setting the DateHierarchyLevel on the FilterUIProviderTreeSettings in that 
            // that setting will apply to all menus that the provider shows (as it can be 
            // associated with multiple grids), while setting the property here allows
            // a more precise control over each instance.
            treeTool.DateHierarchyLevel = DateHierarchyLevel.Month;
        }
        else
        {
            // Process any child menu items
            FilterMenuTool menuTool = tool as FilterMenuTool;
            if (menuTool != null)
                this.AfterMenuPopulateHelper(menuTool.Tools);
        }
    }
}

private void AfterMenuPopulateHelper(IList<FilterTool> tools)
{
    // Prepend the index of each tool to the displayed text
    for (int i = 0; i < tools.Count; i++)
    {
        FilterTool tool = tools[i];
        tool.DisplayText = String.Format("{0} - {1}", i, tool.DisplayText);

        // If the item is the first item in the group, bold the text
        if (i == 0 || tool.IsFirstInGroup)
            tool.Appearance.FontData.Bold = DefaultableBoolean.True;


        // Do this recursively for any other menu tools
        FilterMenuTool menuTool = tool as FilterMenuTool;
        if (menuTool != null)
            this.AfterMenuPopulateHelper(menuTool.Tools);
    }
}
参照