﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-紫雨轩 .Net, DNGuard HVM , .Net VMProtect-随笔分类-C# Winform编程</title><link>http://www.cnblogs.com/rick/category/63646.html</link><description>DNGuard HVM - Advanced .NET Code Protection Technology
</description><language>zh-cn</language><lastBuildDate>Fri, 11 Jul 2008 13:50:28 GMT</lastBuildDate><pubDate>Fri, 11 Jul 2008 13:50:28 GMT</pubDate><ttl>60</ttl><item><title>DNGuard Enterprise v2.95 released </title><link>http://www.cnblogs.com/rick/archive/2008/07/10/1240341.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Thu, 10 Jul 2008 15:46:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2008/07/10/1240341.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/1240341.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2008/07/10/1240341.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/1240341.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/1240341.html</trackback:ping><description><![CDATA[摘要: Version2.9.5(July10,2008)[+]AddsecurecallbacksdkandDocument.[*]Improvedcompatibility...&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2008/07/10/1240341.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/1240341.html?type=1" width = "1" height = "1" />]]></description></item><item><title>在 FlexGrid 控件中指定最右侧显示的列</title><link>http://www.cnblogs.com/rick/archive/2008/06/26/1230268.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Thu, 26 Jun 2008 03:22:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2008/06/26/1230268.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/1230268.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2008/06/26/1230268.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/1230268.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/1230268.html</trackback:ping><description><![CDATA[摘要: FlexGrid 控件提供了指定左侧显示列的功能。因项目的需要，要求能够指定最右侧显示的列。<br>实现方法：<br>获取表格客户区宽度，然后通过每列的宽度计算出水平滚动条的位置。<br>但是有一个麻烦，就是垂直滚动条的问题。<br>首先要能判断是否有垂直滚动条，<br>然后有垂直滚动条时，需要减出垂直滚动条的宽度，<br>但是控件没有提供这方面的接口&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2008/06/26/1230268.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/1230268.html?type=1" width = "1" height = "1" />]]></description></item><item><title>采用Native 引导方式的.Net加密保护</title><link>http://www.cnblogs.com/rick/archive/2008/02/01/1060865.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Fri, 01 Feb 2008 02:12:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2008/02/01/1060865.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/1060865.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2008/02/01/1060865.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/1060865.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/1060865.html</trackback:ping><description><![CDATA[摘要: 这类加密保护方式属于整体程序集的加密保护.<br>这个方法首要解决的问题就是 native code 和 .Net Code如何交互.<br>这里介绍三种实现方式.&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2008/02/01/1060865.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/1060865.html?type=1" width = "1" height = "1" />]]></description></item><item><title>C#中使用晚绑定实现压缩Access数据库</title><link>http://www.cnblogs.com/rick/archive/2008/01/25/1053119.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Fri, 25 Jan 2008 06:20:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2008/01/25/1053119.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/1053119.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2008/01/25/1053119.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/1053119.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/1053119.html</trackback:ping><description><![CDATA[摘要: C#中使用晚绑定实现压缩Access数据库.<br>VB对Com后期绑定支持得很好,在C#中可以使用反射来实现.<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2008/01/25/1053119.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/1053119.html?type=1" width = "1" height = "1" />]]></description></item><item><title>直接在.Net程序（C#）中执行 native code</title><link>http://www.cnblogs.com/rick/archive/2008/01/22/1049239.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Tue, 22 Jan 2008 13:46:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2008/01/22/1049239.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/1049239.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2008/01/22/1049239.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/1049239.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/1049239.html</trackback:ping><description><![CDATA[摘要: 不使用C++CLI，不使用 native dll.<br>直接在 .Net 程序 中之行 native code。<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2008/01/22/1049239.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/1049239.html?type=1" width = "1" height = "1" />]]></description></item><item><title>C#复杂表达式的问题</title><link>http://www.cnblogs.com/rick/archive/2008/01/10/1033989.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Thu, 10 Jan 2008 09:25:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2008/01/10/1033989.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/1033989.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2008/01/10/1033989.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/1033989.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/1033989.html</trackback:ping><description><![CDATA[摘要: 测试程序发现了一个bug, 几经调试最后定位到一条复杂表达式语句的计算结果不正确.<br>代码中用复杂表达式不是一个好习惯,调试起来很不方便.<br>为了方便跟踪调试,看看究竟是表达式的那部分计算出了问题.<br>就先把表达式拆开来写了.<br>再运行, 嗨, bug没有了. 跟踪看了表达式最终计算结果,也正确了.&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2008/01/10/1033989.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/1033989.html?type=1" width = "1" height = "1" />]]></description></item><item><title>.Net中的数字类型四则运算的有趣问题</title><link>http://www.cnblogs.com/rick/archive/2007/11/29/976691.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Thu, 29 Nov 2007 03:38:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2007/11/29/976691.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/976691.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2007/11/29/976691.html#Feedback</comments><slash:comments>55</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/976691.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/976691.html</trackback:ping><description><![CDATA[摘要: 看看下面的代码: 你觉得这段代码能否正确执行?结果会怎样?<br>	    sbyte sba, sbb,sbv;<br>            sba = 1;            sbb = 2;            sbv = sba + sbb;<br><br>            byte ba, bb, bv;<br>            ba = 1;            bb = 2;            bv = ba + bb;&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2007/11/29/976691.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/976691.html?type=1" width = "1" height = "1" />]]></description></item><item><title>讨论 winform 引擎以及 CancelButton，OKButton 的实现原理</title><link>http://www.cnblogs.com/rick/archive/2007/09/24/904448.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Mon, 24 Sep 2007 10:03:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2007/09/24/904448.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/904448.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2007/09/24/904448.html#Feedback</comments><slash:comments>14</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/904448.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/904448.html</trackback:ping><description><![CDATA[摘要: 前面提到了form关闭时的两个奇怪现象，有不少朋友参与了讨论。<br>有些朋友还没有看清楚问题的所在就很轻率的评论。<br>A.Z. 在讨论中已经找到的问题的基本所在，问题关键还是在 CalledClosing 这个变量的状态。<br><br>这个问题要从另外一个奇怪现象说起。<br>为什么直接给 form的DialogResult属性赋值会导致form关闭？<br>这个属性的set函数如下：<br>public void set_DialogResult(DialogResult value) <br>{ <br>if (!ClientUtils.IsEnumValid(value, (int) value, 0, 7)) <br>{ <br>throw new InvalidEnumArgumentException("value", (int) value, typeof(DialogResult)); <br>} <br>this.dialogResult = value; <br>} <br>很明显，这个set函数不可能直接导致 form的关闭。&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2007/09/24/904448.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/904448.html?type=1" width = "1" height = "1" />]]></description></item><item><title>form关闭时的一个奇特现象</title><link>http://www.cnblogs.com/rick/archive/2007/09/21/901058.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Fri, 21 Sep 2007 03:35:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2007/09/21/901058.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/901058.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2007/09/21/901058.html#Feedback</comments><slash:comments>50</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/901058.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/901058.html</trackback:ping><description><![CDATA[摘要: 今天查一个错误时发现这个问题。<br>有一个frmEdit。在Closing事件里面判断数据是否修改，然后提示用户是否需要保存数据。<br>提供了三个按钮，yes，no，cancel。<br>yes：保存数据，关闭窗体。<br>no：直接关闭窗体。<br>cancel：不关闭窗体。<br><br>实际运行，点yes，cancel，处理都对，但是点 no，就会重复弹出这个对话框，<br>如果一直点 no的话，就会一直出现。<br><br>看一眼代码没有发现明显问题，实际调试才发现问题所在。<br>代码如下：&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2007/09/21/901058.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/901058.html?type=1" width = "1" height = "1" />]]></description></item><item><title>DataGridView 绑定DataTable方式编辑保存的bug?</title><link>http://www.cnblogs.com/rick/archive/2006/07/14/450472.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Fri, 14 Jul 2006 02:10:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2006/07/14/450472.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/450472.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2006/07/14/450472.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/450472.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/450472.html</trackback:ping><description><![CDATA[摘要: DataGridView绑定DataTable方式，进行编辑。如果只在表格的某一行内进行编辑，且保持焦点只在这一行变动。进行数据保存时这一行的变更就无法正常保存。然后我有试着在保存之前调用Data...&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2006/07/14/450472.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/450472.html?type=1" width = "1" height = "1" />]]></description></item><item><title>在 C# 中动态调用 native dll 的导出函数</title><link>http://www.cnblogs.com/rick/archive/2006/07/13/apicall.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Thu, 13 Jul 2006 06:28:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2006/07/13/apicall.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/449849.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2006/07/13/apicall.html#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/449849.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/449849.html</trackback:ping><description><![CDATA[摘要: 在 C++ 中我们能够通过 LoadLibrary,  GetProcAddress 来动态调用 dll 的导出函数.<br>在 C# 中也能够用这样的方式吗?<br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2006/07/13/apicall.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/449849.html?type=1" width = "1" height = "1" />]]></description></item><item><title>从 DataGridView 控件 托放数据 到 TreeView控件(二)</title><link>http://www.cnblogs.com/rick/archive/2006/07/13/draggrdtree2.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Thu, 13 Jul 2006 02:15:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2006/07/13/draggrdtree2.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/449617.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2006/07/13/draggrdtree2.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/449617.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/449617.html</trackback:ping><description><![CDATA[摘要: 前面我们只处理了 DataGridView 的mousedown事件, 现在要处理 mousedown, mousemove, mouseup这三个事件来完成这个任务.<br>大致过程如下:<br><br>在MouseDown事件里面和之前一样处理,只是不启动拖放操作.<br>而是保存要拖放的数据, 以及建立一个小的矩形框(根据系统DragSize信息).<br><br>然后在 MouseMove 事件里面判断<br>是否已经准备好拖放了,如果准备好了,就启动拖放操作.<br>(注:鼠标在小矩形框范围内的移动不启动拖放操作)<br><br>MouseUp里面清除哪些标记量.<br><br>这样就能处理左键单击的选择和 左键拖放了&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2006/07/13/draggrdtree2.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/449617.html?type=1" width = "1" height = "1" />]]></description></item><item><title>从 DataGridView 控件 托放数据 到 TreeView控件</title><link>http://www.cnblogs.com/rick/archive/2006/07/13/draggridtotree.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Wed, 12 Jul 2006 17:28:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2006/07/13/draggridtotree.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/449483.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2006/07/13/draggridtotree.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/449483.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/449483.html</trackback:ping><description><![CDATA[摘要: 实现方法，在datagridview的mousedown事件中开始托放。然后在treeview的DragEnter中接收托放。最后在treeview的DragDrop中处理托放结果。注：t...&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2006/07/13/draggridtotree.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/449483.html?type=1" width = "1" height = "1" />]]></description></item><item><title>DateTimePicker 数据绑定遭遇 null 值的解决方法</title><link>http://www.cnblogs.com/rick/archive/2006/07/11/binddtp.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Tue, 11 Jul 2006 09:54:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2006/07/11/binddtp.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/448209.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2006/07/11/binddtp.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/448209.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/448209.html</trackback:ping><description><![CDATA[摘要: 将字段assessortime绑定到DateTimePicker1.DateTimePicker1.DataBindings.Add("Value",bindingSource1,"asse...&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2006/07/11/binddtp.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/448209.html?type=1" width = "1" height = "1" />]]></description></item><item><title>ComboBox 绑定到数据表中一个列的问题</title><link>http://www.cnblogs.com/rick/archive/2006/07/11/cmbselidx.html</link><dc:creator>紫雨轩 .Net</dc:creator><author>紫雨轩 .Net</author><pubDate>Tue, 11 Jul 2006 02:11:00 GMT</pubDate><guid>http://www.cnblogs.com/rick/archive/2006/07/11/cmbselidx.html</guid><wfw:comment>http://www.cnblogs.com/rick/comments/447764.html</wfw:comment><comments>http://www.cnblogs.com/rick/archive/2006/07/11/cmbselidx.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/rick/comments/commentRss/447764.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/rick/services/trackbacks/447764.html</trackback:ping><description><![CDATA[摘要: 数据表:Users字段ID,类型int字段UserName,类型string字段Group,类型int.(2代表管理员,1&nbsp;代表认证用户,0代表注册用户...&nbsp;&nbsp;<a href='http://www.cnblogs.com/rick/archive/2006/07/11/cmbselidx.html'>阅读全文</a><img src ="http://www.cnblogs.com/rick/aggbug/447764.html?type=1" width = "1" height = "1" />]]></description></item></channel></rss>