雁过请留痕...
代码改变世界

随笔档案-2013年07月

别误用IsDigit与IsNumber函数

2013-07-27 19:51 by xiashengwang, 21065 阅读, 收藏, 编辑
摘要: 1、起因最近发现程序中有一段控制TextBox数字输入的代码,相信大家都不会太陌生,如下: void int_KeyPress(object sender, KeyPressEventArgs e) { const char Delete = (char)8; if (!Char.IsDigit(e.KeyChar) && e.KeyChar != Delete) { e.Handled = true; } }乍一看,好像没有啥问题,但... 阅读全文

双行表头DatagridView的简单实现

2013-07-16 16:38 by xiashengwang, 6879 阅读, 收藏, 编辑
摘要: DatagridView默认不支持多行表头的实现,一些第三方的控件,比如Spread就可以,因此要实现这个功能,只能自己想办法了。介绍两种思路:1,用重写DataGridView的Paint等方法,可以重画表头,这个实现起来较为复杂,费时费力,此处略去。2,利用两个DataGridView,一个DataGridView用来显示第一行标题,另一个DatagridView用来显示第二行表头以及数据部分。实现中遇到一个问题,当列数很多的时候,第二个DatagridView会出现水平滚动条,拉动滚动条,第一个DatagridView并没有随着同步滚动,解决这个问题的方法是在第二个DatagridVie 阅读全文