发布一个WinForm控件--TableViewControl

本文介绍了一个用于重构SQL查询模块的自定义控件——TableView控件。该控件旨在替代MDI窗体,提升UI设计灵活性及代码生成工具的实用性。文章详细描述了TableView控件的结构、使用方式及其在设计时的局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     这几个比较忙,也没有想到写些什么,所以停笔了一个多月。本想写个Code生成技术呢,到Codesmith和T4就不知道该写些什么示例,比较实用也大家比较感兴趣的,所以暂时停下,如果关于Code生成技术你有什么好的想法,可以给我写建议。

   还是赶快进入正题,我以前写过一个 Sql查询生成模块 。当时用的MDI窗体,始终感觉有些不如意,所以想重构下,特别有些sql性能和生成规则。所以就开发了今天要讲的控件,我把它称为TableView控件,名字和实际联系不大,主要是刚开始时候没有考虑这么多,就是为了Sql查询重构而写的,后来感觉在以后的代码生成工具设计,Ui界面设计也会很有用,所以就把它独立了出来做成控件(我觉得代码生成工具最好还是像Linq一样提供DBML设计界面)。先看运行结果:

设计时:

image

运行时:

image

这是一个带有标题、图标、关闭按钮、可拖动的内容控件,其实相当于一个panel。我打算用它来取代以前的MDi窗体。现在唯一缺憾是在设计时还不能想Panel一样直接拖动加入子控件,还是必须写代码,在后台代码添加

this.tableViewControl1.ContentControls.Add(new ListBox() { Dock = DockStyle.Fill });
checkedListBox1.Dock = DockStyle.Fill;
this.tableViewControl3.ContentControls.Add(checkedListBox1);

这个设计时,我正在设法解决。panel的设计时PanelControlDesigner继承至ParentControlDesignr,到市里面的代码很多,所以暂时想找一个更好的方式来实现,如果你有好的建议,希望赐教。感觉这个设计时,有失大雅了,呵呵。

  在这个控件中设计为用户控件,在控件添加了多个Panel:标题栏,内容框,右边框和下边框(为了可拖动改变Size)。

 

                                                   无标题

      

       控件下载:TableViewControl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值