写Form设计器尝试(一) Start

    Eddie Sheffield作为微软之外的第一个发现启用 Form Designer 的人,确实是了不起
    几年过后的今天,已经可以 找到一些关于Form Designer的资料,虽然不多也不全面,但毕竟还是有一些。我手上的资料是:
    1 、《 Dissecting a C# Application Inside SharpDevelop 》中文版,第 16 章专门讲 Form 设计器;
   
2 windowsforms.net 上下载的一个小例子,显然也是从 SharpDevelop 得到的思路;
    3 WinRes 这个工具,随 VS2005/.net FrameWork2.0 带的一个资源本地化的工具。可以反编译看看它的源码。
    对比 1 2 3, 我发现两者虽然都实现了 Form Designer ,但设计思路迥然不同 显然 WinRes 用的办法要简明。原因是 .net 2.0 增强了设计器的功能并简化了设计器的调用方法。由于时间限制,短期内写一个功能完善的 Form 设计器可能难。我想做的是做一些测试,得出基于.net 2.0写一个 Form 设计器的基本方法。
    我想先写一个没有任何功能但能看到设计器样式的小例子来测试。以后再慢慢增加设计的功能,比如控件的添加删除,属性的设置,保存文件等功能。
    我们的步骤如下:
    VS2005 ( 我用的版本是 RC) 新建一个 C# WindowsForm 方案 , 在工程的引用中增加 System. Design,   Form1 的代码中先添加
    然后双击 Form, 在Form的Load事件中写以下代码:
    然后运行方案,这是最简单也没任何用处的窗体设计器了,但至少我们能调整那个被设计 Form 的大小 :)
DesignSurface surface  =  new  DesignSurface();
surface.BeginLoad(
typeof (Form));
Control view 
=  (Control)surface.View;
view.Dock 
=  DockStyle.Fill;
this .Controls.Add(view);
using  System.ComponentModel.Design;
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值