ComboBox 使用数据绑定时 Sorted 属性的bug [ 2009-06-25 | C# .Net编程 | rick@博客园 ]
调查一个奇怪的系统异常时发现的这个bug,现象就是用户在ComboBox里面选择一项后,程序在SelectIndexChanged 事件中根据用户选择刷新数据时出现错误。跟踪调试后才发现原来是SelectedValue 值和用户选择的Item项不一致。
但是为什么会出现这样奇怪的错误呢?
经过调查发现是因为设置了ComboBox的Sorted属性引起的。
阅读全文……
在 FlexGrid 控件中指定最右侧显示的列 [ 2008-06-26 | C# .Net编程 | rick@博客园 ]
FlexGrid 控件提供了指定左侧显示列的功能。因项目的需要,要求能够指定最右侧显示的列。
实现方法:
获取表格客户区宽度,然后通过每列的宽度计算出水平滚动条的位置。
但是有一个麻烦,就是垂直滚动条的问题。
首先要能判断是否有垂直滚动条,
阅读全文……
.Net 中枚举AppDomains [ 2008-05-22 | C# .Net编程 | rick@博客园 ]
.Net 框架提供的基础类库中并没有枚举AppDomains的功能,只提供了获取当前执行代码所在的AppDomain功能。
国外一家提供.Net保护工具的,同时提供了一个AppDomain dump工具。用来证明其保护有效。
名称就不提了,简单介绍一下其保护原理:整体加密保护,支持嵌入程序集生成单一可执行文件。
阅读全文……
C#中使用晚绑定实现压缩Access数据库 [ 2008-01-25 | C# .Net编程 | rick@博客园 ]
C#中使用晚绑定实现压缩Access数据库.
VB对Com后期绑定支持得很好,在C#中可以使用反射来实现.
函数实现代码如下:
阅读全文……
直接在.Net程序(C#)中执行 native code [ 2008-01-22 | C# .Net编程 | rick@博客园 ]
不使用C++CLI,不使用 native dll.
直接在 .Net 程序 中之行 native code。
在vb时代就曾经有不少好事者做过在vb中直接调用之行汇编代码。
还专门做出了通用的模块来进行汇编代码的动态生成。
阅读全文……
C#复杂表达式的问题 [ 2008-01-10 | C# .Net编程 | rick@博客园 ]
测试程序发现了一个bug, 几经调试最后定位到一条复杂表达式语句的计算结果不正确.
代码中用复杂表达式不是一个好习惯,调试起来很不方便.
为了方便跟踪调试,看看究竟是表达式的那部分计算出了问题.
阅读全文……
.Net中的数字类型四则运算的有趣问题 [ 2007-11-29 | C# .Net编程 | rick@博客园 ]
看看下面的代码:
sbyte sba, sbb,sbv;
sba = 1;
sbb = 2;
sbv = sba + sbb;
阅读全文……
form关闭时的一个奇特现象 [ 2007-09-21 | C# .Net编程 | rick@博客园 ]
今天查一个错误时发现这个问题。
有一个frmEdit。在Closing事件里面判断数据是否修改,然后提示用户是否需要保存数据。
提供了三个按钮,yes,no,cancel。
阅读全文……
asp.net 2.0 下临时关闭网站的一个小技巧 [ 2007-08-25 | C# .Net编程 | rick@博客园 ]
在ASP.NET 2.0中,你可以建立一个叫app_offline.htm(大小写没关系)的静态HTM页面文件,其中修改成你要临时显示的内容,将其放在你的应用的根目录下。
这样,任何外部的请求的话,都会马上被转移到该页面了。
这个时候,你的网站依然可以被访问,只不过你的应用不能被访问了。
要注意的是,这个app_offline.htm页面的大小,要大于512字节,用asp.net 之父SCOTT的话来说,
阅读全文……
C#3.0 LINQ 查询语法 [ 2007-08-22 | C# .Net编程 | rick@博客园 ]
首先来看一个很简单的LINQ查询例子,查询一个int 数组中小于5的数字,并按照大小顺序排列:
class Program
{
static void Main(string[] args)
阅读全文……