WinForm/C# WinForm 编程的一些小知识

houning · 2017年07月01日 · 66 次阅读

各位好: 近期张店办公室正在对费用管理系统第一二阶段任务进行评测,在此过程中发现了很多新员工编程时容易忽视或遗忘的问题,现整理如下(后续如有条件会持续发布哦):

一、新增、插入、追加的命名

新增按钮:Add
插入按钮:Insert
追加按钮:Append

二、AfterAssemble 事件中的 e.Cancel=True

在 AfterAssemble 事件中通常会有两个地方需要 e.Cancel=True
1、获取时间给日期控件赋值时,如果时间获取失败,需要 e.Cancel=True 并返回;否则给日期控件赋值时会报错。
2、如果本模块没有加载功能,当获取数据失败时需要 e.Cancel=True 并返回;如果有加载功能,不需要 e.Cancel=True。

三、加载按钮

加载按钮中首先要检查是否有未保存数据并进行提示,前提是保存按钮为可用状态。

四、新增按钮

新增按钮中首先要清空过滤行条件:WnGridMain.FilterString=””

五、WnGrid 控件的 CurrRowChanged 事件

CurrRowChanged 事件中经常要根据编制人与当前用户是否相符来为 WnGrid.IsAllowEdit 属性赋值,标准写法如下:
If (e.NewRow == null) { Return; }
WnGrid.IsAllowEdit = e.NewRow[“EditUser”].Equals(AppInfo.UserName);(注:此段代码感谢胡老师!)
如有不同见解,请联系 110119120122。

个人几点看法:
1、我认为 AfterAssemble() 中只要是出错,都设置 e.Cancel=True,因为可能取数或其它初始化动作失败了,如果窗口还能打开可能会造成操作异常或数据异常。
2、WnGrid.IsAllowEdit 设置时不要忘记权限,否则原来没有 Edit 权限也可能变得可以修改了。
3、110119120122 这是一个电话还是 4 个电话?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册