WinForm代码收藏和演示
DataGridView
WinForm中DataGridView控件的缺省复制功能按HTML格式存储到剪贴板,中文信息也许不会被其他程序识别为正确的编码格式,比如,在Word或者Excel中粘贴,汉字被变成乱码。下面的方法,是写一个继承自DataGridView控件的类MyDataGridView,将复制功能重写为以Unicode编码方式复制DataGridView内容,并公开一个CmdCopy方法,实现简单复制调用。
MyDataGridView加入了两个属性:RowNumberStart属性,设置或获取界面的起始行号;RowNumberEnabled属性,设置或获取是否绘制界面行号。绘制行号功能是重写的OnRowPostPaint方法实现的,因此重新设定后需要Refresh界面后才会使效果生效。
演示:
下载:
类型 : 7Z 压缩文件
大小 : 10 KB
ListBox
这是一个为ListBox项目重新绘制的例子。我们重新绘制控件,将它的DrawMode属性设置为OwnerDrawFixed(所有条目使用固定大小)或者OwnerDrawVariable。然后重写或者编写其DrawItem事件处理代码。
使用GDI+绘制界面的时候,可以更随意一点儿。它的演示效果如下图:
下载:
类型 : 7Z 压缩文件
大小 : 20 KB
HtmlReportForm
一个可自定义样式和脚本的页面形式的报告窗口
项目结构如下图:
web文件夹下三个文件是分别可以复制到生成目录的web文件夹下;
HtmlReportForm 是HTML报告窗体主要代码;
WebGenerater.cs 是生成页面代码,它优先读取生成目录web文件夹下的三个文件,读取失败则使用项目资源中的文件。
演示:
report.html
report.css
report.js
WebGenerater.cs
演示下载: