通过用 .NET 生成自定义窗体设计器来定制应用程序
2021-06-21 10:03
选择服务会跟踪设计器表面上的组件选择。其他服务(例如,IMenuCommandService)在需要获得有关所选组件的信息时使用该服务。为了提供此信息,该服务将维护一个表示当前所选组件的内部列表。设计时环境在组件的选择已经被更改时用一个组件集合来调用 SetSelectedComponents。例如,如果用户选择了一个组件,然后按住 shift 键并选择另外三个组件,则每次向选择列表中进行添加时,都会调用该方法。每次调用该方法时,设计时环境都会告诉我们哪些组件受到了影响,以及受到了怎样的影响(通过 SelectionTypes 枚举)。实现会查看组件是如何更改的,以便确定组件是需要添加到内部选择列表中,还是需要从该列表中移除。在修改内部选择列表以后,我激发了 Selection Changed 事件(请参见 SelectionServiceImpl.cs 中的方法 selectionService_SelectionChanged),以便可以用新的选择更新属性网格。应用程序的主窗体 MainWindow 预订了选择服务的 Selection Changed 事件,以便用所选的组件更新属性网格。
上一篇:C#反射获取属性值和设置属性值
文章标题:通过用 .NET 生成自定义窗体设计器来定制应用程序
文章链接:http://soscw.com/index.php/essay/96844.html