摘要:
在数据库设计时,也许会有一些约定,说一下我自己的三点基本硬性规定:1、所有字段都为可空设定(主键、布尔类型字段除外)2、字符串类型不允许有前后空格(可能特殊情况时除外)3、如果是空字符串,则应存储Null(为了防止不同数据库类型对字符串为空和NULL的不同对待)第一点是设计时的事情,在这里可以略过,而后两点则是归程序判断处理的,也许细心的你发现了,第二点和第三点是衔接的。接下来我们来看一下后两点是如何实现的,以TextBox为例,我是这样进行的:'在验证数据时进行Me.txtRemark.Trim()'在保存时进行With info If (Me.txtRemark.HasVa 阅读全文
摘要:
久没更博了,先上一篇小技巧。先说一下VS解决方案中bin和obj这两文件夹是什么东东,以下信息源自百度。bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译 阅读全文
摘要:
众所周知 Control.Focus() 可以让控件获得焦点;即使这个控件处于继承自 ScrollableControl 的有滚动条的容器内,并且不在显示的范围内,Focus 方法也会将滚动条滚动至该控件的顶端以让它显示在用户面前。但是有一种情况是例外的,当这个控件是在 TabControl 的 TabPage 里,而 TabControl 当前的 TabPage 不是控件所在的那一个,调用控件的 Focus 方法时,并不会自动激活控件所在的 TabPage ,不知道算不算M$的 Bug 了。不管如何,还是要解决这个问题的,所以我写了个方法作辅助,考虑到可能会嵌套了n层 TabControl 阅读全文
摘要:
工作忙,都没什么时间上来发东西,难得五一放假,放一篇先...日志记录,在项目开发过程中是必不可少的,有了它,在项目投入运作后,当出现了问题,也能有记录作为参考。.Net 中,日志记录的主要开源项目就是 Log4Net 了,不过它却是过于庞大了,在小系统中,也许只需要记录上错误的信息,所以就有了这个自写的类。Imports System.IOPublicClass Logger PrivateSharedReadOnly _instance As Logger =New Logger() PublicSharedReadOnlyProperty Instance() As Logger ... 阅读全文
摘要:
#region 快捷键相关 /// <summary> /// 记录快捷键 /// </summary> private void txtHotKey_KeyDown(object sender, KeyEventArgs e) { int HotKeyValue = 0; string HotKeyString = ""; e.SuppressKeyPress = false; e.Handled = true; if (e.Modifiers != Keys.None) { switch (e.Modifiers) { case Keys.Con 阅读全文
摘要:
在 Winform 程序开发中,要求统一整个UI的字体,否则这个地方是“宋体”,那个地方是“楷体”,感觉很杂乱。还有一个原因是,当在不同语言环境下,字体名称也会有所不同,就用“mingliu.ttc”作例子,在“中文(PRC)”下为“MingLiU、PMingLiU”;在“中文(香港特别行政区)”下为“細明體、新細明體”。如果你在“中文(PRC)”下将字体设置为“PMingLiU”,那在“中文(香港特别行政区)”下,则会因为找不到该字体,继而启用系统默认字体,这是很糟糕的事情,因为这种情况下,你程序中 Label 的文本可能会显示不完全或变长覆盖了后面的控件。同时,考虑到客户端系统中,可能无开 阅读全文