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

news/2024/7/7 14:04:04

代码生成器开发笔记(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控件。


http://www.niftyadmin.cn/n/1895011.html

相关文章

拓扑排序c语言代码_折半插入排序算法(C语言代码实现)

上一节介绍了直接插入排序算法的理论实现和具体的代码实现,如果你善于思考就会发现该算法在查找插入位置时,采用的是顺序查找的方式,而在查找表中数据本身有序的前提下,可以使用折半查找来代替顺序查找,这种排序的算法…

分布式数据库操作笔记

/*映射和删除远程服务器连接 */exec sp_addlinkedserver serverdemo, srvproduct,datasrc192.168.2.93,providerSQLOLEDB /* 不能再事务中执行存储过程*/ exec sp_dropserver demo select * from sys.servers /*查询此服务器中所有服务器映射记录 */ /*映射和删除远程服务器…

yii2安装mysql_linux 安装mysql5.6

Linux:Centos1.先查看系统上有没有安装了旧版本的MySQL ,用下面的命令:rpm -qa | grep mysql如果有,用以下命令卸载rpm -e --nodeps 上步显示mysql名称安装编译mysql 需要的依赖包yum install libevent* libtool* autoconf* libstd* ncurse* …

分布式数据库概述

http://fineboy.cnblogs.com/archive/2005/08/03/206395.html

sql server分布式事务解决方案

http://nihaiou.blog.51cto.com/790190/394693

hibernate pom mysql_Hibernate+maven+mysql

最近在研究hibernate,想建立一个简单的Hibernatemavenmysql工程,网上找了一大堆的示例,要么看不懂结构,要么就是缺少必要文件。总之都没有成功,结果无意在一个外文网上找了一个实例,惊叹于人家的排版。也不…

TransactionScope 分布式事务

TransactionScope 分布式事务 TransactionScope是.Net Framework 2.0滞后,新增了一个名称空间。它的用途是为数据库访问提供了一个“轻量级”[区别于:SqlTransaction]的事物。使用之前必须添加对 System.Transactions.dll 的引用。下列代码就是一个正在…

spring-session剖析

2019独角兽企业重金招聘Python工程师标准>>> 一、使用场景 1)一台服务器上的软负载均衡应用 2)分布式应用 二、实现方式 1)session数据存cookie 将session存储至cookie中,每次请求从cookie中读取session,缺…