winform代码生成器(三)
代码下载 地址 http://pan.baidu.com/s/1nuZjyat
接上面的两篇.
用户有时对 从表的 排版不喜欢,可以因某些字太长,需要拉长一些,有些则需要隐藏.
有什么办法呢? 我的思路是,把从表的 GridColumn信息保存到与自己名称对应的xml文件内,窗体初始化化时,读取保存的文件,初始化 从表 的布局.
如果不知道怎么读写XML文件,我之前写了一篇 <XML文件的一些操作> 的文章,可以看下 .
http://www.cnblogs.com/likehc/p/6691185.html
说思路
- 写一个私有方法,读取从表的 GridColumn位置信息,当窗体触发Column 宽度变化,或是隐藏部位Column里,触发
2.设置一个窗体内的 共公bool变量,当其值为true时,才可读写.(防止窗体加载时,出现不必要的XML读写)
要用到的一些事件 从表显示的内容 放在了GridColumn gridView1 控件内,
//位置改变,如顺序, 是否隐藏
private void gridView1_ColumnPositionChanged(object sender, EventArgs e) //宽度变化
private void gridView1_ColumnWidthChanged(object sender, DevExpress.XtraGrid.Views.Base.ColumnEventArgs e) //初始化从表
private void 窗体_Load(object sender, EventArgs e) //使XLM可读写(防止初始化时频繁读写)
private void 窗体_Shown(object sender, EventArgs e) //使XLM不可写
private void窗体_FormClosing(object sender, FormClosingEventArgs e) //上下调整 从表的位置
private void SplitContainer_Panel2_ClientSizeChanged(object sender, EventArgs e)
说思路:
窗体初始化化时,读取指定目录中与自己名称相同的xml文件(如果没有则使用默认设置), 如下
FixedPane 判断是否启用 手动设置功能,如果为false 则 不保存用户的设置
Items 节点,存放 数据库的字段, VisibleIndex 显示顺序,如果为-1则不显示, Width为宽度
PanelHeight 保存从表的高度,
用户 修改了 字段的宽度,或隐藏/显示字段, 或修改从表高度,且FixedPane值为Enable,则会重写xml文件,保存现在的状态.
如果不想保存 用户的设置, 把FixedPane 设为非Enable 或删除全部内容(不能删除xml文件)即可,
<?xml version="1.0" encoding="utf-8"?>
<Form>
<FixedPane>Enable</FixedPane>
<Items>
<Titles FieldName="Id" VisibleIndex="2" Width="86" />
<Titles FieldName="InnerId" VisibleIndex="0" Width="86" />
<Titles FieldName="GoodsName" VisibleIndex="1" Width="86" />
<Titles FieldName="Unit" VisibleIndex="3" Width="86" />
<Titles FieldName="UnitPrice" VisibleIndex="4" Width="86" />
<Titles FieldName="Number" VisibleIndex="5" Width="78" />
<Titles FieldName="TotalPrice" VisibleIndex="6" Width="88" />
<Titles FieldName="Remark" VisibleIndex="7" Width="88" />
<Titles FieldName="IsDelete" VisibleIndex="-1" Width="98" />
</Items>
<PanelHeight>155</PanelHeight>
</Form>
最后把 .cs 里面的 方法 通过 Designer.cs 文件 绑定到相应的 事件上去.
winform代码生成器(三)的更多相关文章
- winform代码生成器(一)
(PS sqlhelper的文件 竟放到 类库里了,第二篇已做了分离,边做边写的 ^_^) 做 Winform 项目时,要拖很多控件,感觉在做重复的事,那就应该用程序来完成,那就自己写一个吧.-- ...
- 小菜学习Winform(三)Socket点对点通信
前言 Socket的英文原义是“孔”或“插座”,其实在网络编程中Socket就是这个意思,就像我们打电话,要首先知道对方的手机号一样,这个手机号就相当于一个Socket号.一个插座,在网络编程中就是i ...
- C# Winform ComBox三种赋值方式
https://www.cnblogs.com/ingstyle/p/4815303.html 第一种方法: DataTable dt = new DataTable(); dt.Columns.Ad ...
- winform(三)——更换主窗体例子
做一个登录窗口,登录成功时关闭form1,展示from2界面 1.主界面Login namespace WindowsFormsApplication1 { public partial class ...
- WinForm TreeView 三种状态
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { var node = e.N ...
- winform代码生成器(二)
代码下载 地址 http://pan.baidu.com/s/1nuZjyat 接着说 上文继续说,这次我们要生成主从表. 此方用到了第三方的 控件 DevExpress 的Gridview .大家可 ...
- 小菜学习编程-Winform系列(初学者)
前言 记得上次写<小菜的程序员道路(二)>,这篇文章的时候说过,要把工作以来整理的编程知识分享给大家,因为这半年来的工作实在是忙,现在也在忙着公司产品上线,但是答应的一定要实现,大家看我上 ...
- WinForm控件使用文章收藏整理完成
对C# WinForm开发系列收集的控件使用方面进行整理, 加入了一些文章, 不断补充充实, 完善这方面. 基础 - 常用控件 C# WinForm开发系列 - CheckBox/Button/Lab ...
- c#winform使用WebBrowser 大全[超长文转载]
1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源.必须在附加事件的同一线程上调用 ...
随机推荐
- bjwc Day1 暴力大战
今天终于有题了... 题目是COCI2016/2017 Round #4 T1一看就是NP问题,k<=50,开始想暴力,想了个n^4的,大概能过,就没去管它 T2想得太naive,丢了100分给 ...
- MySQL-left join _20160928
left join 左连接 返回from 后面表的全部记录和 left join 后面表和from 后面表条件相符的全部记录 一般格式为下面,首先table A 和tableB都有两个唯一的字段标识I ...
- BZOJ_2813_奇妙的Fibonacci_线性筛
BZOJ_2813_奇妙的Fibonacci_线性筛 Description Fibonacci数列是这样一个数列: F1 = 1, F2 = 1, F3 = 2 . . . Fi = Fi-1 + ...
- 几个重要的 ASM Disk Groups 参数
几个重要的Disk group 属性: 1. ACCESS_CONTROL.ENABLED该属性用来控制某个disk group 上ASM FILE Access Control. 该参数有2个值:t ...
- BZOJ1503:[NOI2004]郁闷的出纳员
浅谈\(splay\):https://www.cnblogs.com/AKMer/p/9979592.html 浅谈\(fhq\)_\(treap\):https://www.cnblogs.com ...
- AndroidStudio启动时不自动打开项目
取消勾选Reopen last project on startup选项 点击 OK 就行了
- lwip【4】 lwIP配置文件opt.h和lwipopts.h初步分析之一
在这里先说一下这两个配置lwip协议栈文件opt.h和lwipopts.h的关系: opt.h是lwip"出厂"时原装的配置文件,它的作者是瑞士科学院的Adam等 ...
- caffe 逐步调试
caffe 逐步调试 https://www.zhihu.com/question/27982282
- 集成hibernateDaoSupport实现增删改查
1. package edu.jlu.fuliang.dao.impl; import java.util.List; import org.springframework.orm.hibernate ...
- day1 java基础回顾-泛型
2.泛型(Generic) 当集合中存储的对象类型不同时,那么会导致程序在运行的时候的转型异常 1 import java.util.ArrayList; 2 import java.util.Ite ...