有两种方式能控制 标准上下文菜单 对最终用户的可用性: 通过相应的选项、以及通过接管事件。
通过选项控制菜单的显示
可以通过 TreeList.OptionsMenu 属性访问能控制标准上下文菜单的可用性的菜单选项。 这些选项允许禁用或启用列标头及脚注菜单。 注意,激活菜单的 TreeList 元素必须可视,以允许调用菜单。 这些元素的可视性由视图选项控制,视图选项可以通过 TreeList.OptionsView 属性访问。
下表列出了菜单的种类及其可视性条件。
菜单种类 | 可视性条件 |
---|---|
列标头面板菜单 | TreeListOptionsMenu.EnableColumnMenu 属性必须被设置为 true。 TreeListOptionsView.ShowColumns 属性必须被设置为 true 以便于显示列标头。 |
行脚注菜单 | TreeListOptionsMenu.EnableFooterMenu 属性必须被设置为 true。 TreeListOptionsView.ShowRowFooterSummary 属性必须被设置为 true 以便于显示行脚注。 |
汇总脚注菜单 | TreeListOptionsMenu.EnableFooterMenu 属性必须被设置为 true。 TreeListOptionsView.ShowSummaryFooter 属性必须被设置为 true 以便于显示汇总脚注。 |
例如,可以编写下列代码来启用列标头菜单,并禁用脚注菜单。
C# | 复制代码 |
---|---|
treeList1.OptionsMenu.EnableColumnMenu = true; treeList1.OptionsMenu.EnableFooterMenu = false; |
Visual Basic | 复制代码 |
---|---|
TreeList1.OptionsMenu.EnableColumnMenu = True TreeList1.OptionsMenu.EnableFooterMenu = False |
通过事件控制菜单的显示
每当最终用户试图调用任何标准上下文菜单时,TreeList.ShowTreeListMenu 事件发生。 此事件的参数允许识别菜单的类别、定制菜单或阻止调用菜单。 下面的示例代码接管了 TreeList.ShowTreeListMenu 事件来禁止 Department 列的菜单被调用。
C# | 复制代码 |
---|---|
using DevExpress.XtraTreeList; //... private void treeList1_ShowTreeListMenu(object sender, DevExpress.XtraTreeList.TreeListMenuEventArgs e) { TreeListHitInfo hitInfo = treeList1.CalcHitInfo(e.Point); if(hitInfo.HitInfoType == HitInfoType.Column && hitInfo.Column.Caption == "Department") e.Allow = false; } |
Visual Basic | 复制代码 |
---|---|
Imports DevExpress.XtraTreeList '... Private Sub TreeList1_ShowTreeListMenu(ByVal sender As Object, _ ByVal e As DevExpress.XtraTreeList.TreeListMenuEventArgs) Handles TreeList1.ShowTreeListMenu Dim HitInfo As TreeListHitInfo = TreeList1.CalcHitInfo(e.Point) If HitInfo.HitInfoType = HitInfoType.Column And HitInfo.Column.Caption = "Department" Then e.Allow = False End If End Sub |