代码生成器开发笔记(3)-界面设计

代码生成器开发笔记(3)-界面设计

程序 2009-06-13 13:48:34 阅读73 评论0   字号: 订阅

  解决了数据架构问题,开始正式动手写代码。

  第一个问题当然是界面设计了。准备做成VS2005风格,也就是多文档、支持窗体停靠,可以任意拖放窗体位置。

  最初是想自己实现,难度应该不大,不外乎窗体的自绘、消息的响应,会用到Win32 API,以前用VB时,对Win32 API还是比较熟悉的。

  后来觉得会在这上面花不少时间,不值得,于是上网找了找,还真找到一个非常好用的停靠控件。我把它放在纳米盘上面了。http://www.namipan.com/d/5c84c97e38578e308568ab698881b118a988f1d90d310700

  控件是国外的,附带源码,写得非常好,用起来也很简单。下载解压后就可以直接使用。

  新建WinForm项目,把主窗体改为MDI窗体。在工具箱上单击右键,点“选择项”,找到控件解压的目录,在Src/WinFormUi/bin/debug(Release)目录下找到WeifenLuo.WinFormsUI.Docking.dll文件,确定后工具箱上会多一个控件:DockPanel。把DockPanel控件放到MDI窗体上,Dock属性设为Fill即可。

  接下来可以设计停靠窗体了。新建窗体,把默认的继承Form类改为继承WeifenLuo.WinFormsUI.Docking.DockContent,该窗体就成为一个可以在MDI窗体中停靠的窗体了。

  DockContent是WeifenLuo.WinFormsUI.Docking.dll中派生自Form的一个类,除了具有普通窗体的特征外,添加了一些属性,并重载了Show方法,要使窗体可以停靠,必须继承DockContent类。

  DockContent的ShowHint属性是用来指示窗体默认停靠位置,这是一个枚举值,其中Document元素表示窗体将填充整个MDI窗体,也就是VS系列中的代码编辑器的效果,其它值的效果则VS中工具箱、属性窗口的效果。

  显示停靠窗体时,需要使用DockContent中重载的Show方法,语法如下:

  FormView form=new FormView();

  form.Show(dockPanel);  //dockPanel,MDI窗体上的DockPanel控件。

你可能感兴趣的:(c,api,文档,vb,工具,WinForm)