Msdn上对DesignerActionList和DesignerAction的介绍为:DesignerAction 功能允许组件和控件显示区分大小写的信息和命令。DesignerAction 功能可被视为设计器谓词的替代项,因为 DesignerActionItem 可显示在智能标记面板中,也可显示在与组件或控件相关联的快捷菜单中。对于要在自定义组件和控件中添加智能标记支持的开发人员,DesignerActionList 类表示主交互点。DesignerActionList 是一个基类,组件开发人员可从中派生类来填充智能标记面板。智能标记面板将智能标记表示为类似于菜单的用户界面 (UI)。
        DesignerActionItem为智能面板上的一项,我们要向智能面板上添加一项,只要实例化一个DesignerActionItem,DesignerActionList类里有个可以被override的方法GetSortedActionItems()返回类型为DesignerActionItemCollection,它实际上就是返回智能面板上项的集合,我们只要把DesignerActionItem实例添加到GetSortedActionItems()的返回值即可。
        在.net中DesignerActionMethodItem、DesignerActionPropertyItem、DesignerActionTextItem、DesignerActionHeaderItem继承于DesignerActionItem,它们的成员大部分都是相同的,DesignerActionMethodItem主要在智能面板上生成一个方法项,点击这个项会去执行相应的方法;DesignerActionPropertyItem则把Component的属性显示在智能面板上,用户可以在职能面板上对Component的属性进行设置和修改;DesignerActionTextItem是在智能面板上生成一个文本项;而DesignerActionHeaderItem是继承于DesignerActionTextItem,但它多了分组的功能。
        代码演示如下:

.NET组件编程(7) Component DesignerAction(智能标记)using System.Collections.Generic;
.NET组件编程(7) Component DesignerAction(智能标记)
using System;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.Drawing;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.Collections;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.ComponentModel;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.ComponentModel.Design;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.Text;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.Reflection;
.NET组件编程(7) Component DesignerAction(智能标记)
using System.Windows.Forms;
.NET组件编程(7) Component DesignerAction(智能标记)
.NET组件编程(7) Component DesignerAction(智能标记)
namespace ClassLibrary1

  效果如下:
.NET组件编程(7) Component DesignerAction(智能标记)

.NET组件编程(7) Component DesignerAction(智能标记)

如果大家有什么问题,请给我留言、或者评论。

相关文章:

  • 2021-07-08
  • 2022-12-23
  • 2021-12-08
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
猜你喜欢
  • 2021-05-29
  • 2021-07-28
  • 2021-10-30
  • 2022-02-12
相关资源
相似解决方案