MDI窗体的工具栏合并(ToolStrip Merging)的功能实现
摘要:上篇:MDI窗体的工具栏合并(ToolStrip Merging)这个模型的大概构成是这样的:1个MDI主窗体,1~n个MDI子窗体;主窗体上一般会有1个主菜单栏,1~n个主工具栏;子窗体设计时上可能有0~1个主菜单栏,0~1个主工具栏,运行时子窗体的菜单栏和工具栏都显示在主窗体上,与主窗体的菜单栏和工具栏合并。(实际上也许会有多个工具栏,但先简化为一个工具栏的模型,实现了一个工具栏的合并后,要实...
阅读全文
MDI窗体的工具栏合并(ToolStrip Merging)
摘要:MDI一个比较显著的特性是菜单合并。即子窗体的菜单能合并到主窗体的菜单上。假想一下如果没有这个功能,主窗体和子窗体各显示一个菜单栏,那人机交互该有多糟糕。工具栏是一个与菜单栏同等重要的窗体界面元素,如果也能实现合并功能,将为MDI界面的应用开发增色不少。我们可以象典型的MDI应用一样,只将工具栏放在主窗口上,在主窗体的工具栏中放上全局通用的工具项,而针对特定子窗体的工具项在子窗体中设计,显示的时候...
阅读全文
新的TreeView控件
摘要:我自已写的扩展TreeView控件, 实现了三态CheckBox和RadioButton:
阅读全文
窗体设计器试验程序下载地址
摘要:目前的代码比较粗糙,仅包含了系列随笔1-6的内容。我计划在未来的时间里将之设计成一个基本可用的提供代码生成、事件支持的设计器, 以此做为.net 2.0下Form Designer的一个参考例子。http://www.cnblogs.com/Files/panjiwen/FormDesigner.zip
阅读全文
写Form设计器尝试(六) 实现菜单命令
摘要:在写这篇的正文之前,我要衷心感谢微软公司的Jeffrey Tan先生,他居然看懂了我的文理不通的英文提问,并且花费宝贵时间来钻研,帮我解决了一个星期来我百思不得其解的问题。我当时的问题是我写了一些语句来实现标准菜单命令,但是调试的时候怎么也得不到正确的结果,事实上我研究的两个例子用的方法和我的类似,它们却都可以正常执行。我一直没有找到原因,不得不求助支持。 在“写Form设计器尝试(四...
阅读全文
写Form设计器尝试(五) 让设计器使用自定义控件
摘要:在“写Form设计器尝试(三) 在窗体上添加控件”的评论中,热心关注者Leejee提出了自定义控件的问题。我于是作了一个小测试,来实现设计器中使用自定义控件。 先要准备一个自定义控件。新建一个Windows控件方案,命名为MyControl, 添加一个名为ComboBoxField的用户控件,在该用户控件上放一个Label和一个ComboBox,生成解决方案。将生成的dll...
阅读全文
关于Microsoft.WizardFramework
摘要:在vs的目录下发现了这个dll, 顾名思义应该是提供了一个向导框架的。我想了解一下怎么用它,google了半天,也没有找到相关资料,看来只好有空的时候去研究一下了。2008/11/28 补:http://radio.weblogs.com/0122832/2005/12/08.html 已经有简要使用说明。
阅读全文
写Form设计器尝试(四) 修改窗体上的控件属性
摘要:要实现能在PropertyGrid中随意修改任何控件的属性,只要为DesignSurface的SelectionService实现一个SelectionChanged事件就行了。
阅读全文
写Form设计器尝试(三) 在窗体上添加控件
摘要:在.net 2.0以前的版本中想实现在窗体设计器中添加控件的做法是定义一个实现IToolboxService接口的“服务”,然后添加到ServiceContainer中,具体方式可以参照http://www.divil.co.uk/net/articles/designers/hosting.asp 。这个地址在www.windowsforms.net 的Code hero...
阅读全文
写Form设计器尝试(二) PropertyGrid
摘要:如果要修改这个设计时Form的其它属性该怎么办呢?接下来的更简单了。切换到Form1的设计界面,往上面放一个SplitContainer, 再在这个SplitContainer的右panel上放一个PropertyGrid, 并将其Dock属性值设置成Fill。切换到代码编辑界面,将上篇中输入的代码的最后一行改成:Code highlighting produced by Actipro Code...
阅读全文
写Form设计器尝试(一) Start
摘要:Eddie Sheffield作为微软之外的第一个发现启用Form Designer的人,确实是了不起。 几年过后的今天,已经可以找到一些关于Form Designer的资料,虽然不多也不全面,但毕竟还是有一些。我手上的资料是: 1、《Dissecting a C# Application Inside SharpDevelop》中文版,第16章专门讲Form设计器; 2...
阅读全文