随笔分类 - .NET编程
摘要:自定义控件的滚动条一直不愿意弄,今晚细看了UserControl的继承结构,感觉是利用ScrollableControl控件实现的,于想查了该基类的使用方法。MSDN中的说明我不得要领,还好在CodeProject找到了一个教程主题是:Creating a scrollable and zoomable image viewer in C# ,有4个部分组成Part 1: The image viewerPart 2: Auto scrollingPart 3: Panning and keyboard supportPart 4: Zooming, auto center, size to
阅读全文
摘要:昨天在查一个DataGridView当前焦点CheckBox不勾选问题,发现在修改DataGridView数据源的值很容易忽略的问题,或者叫DataGridView的bug绑定数据假定我们绑一个DataTable/// <summary>/// 当前数据。Form私有成员/// </summary>DataTable curTable;/// <summary>/// 启动/// </summary>/// <param name="sender"></param>/// <param name=
阅读全文
摘要:1.自动拖放只支持DragDropEffects.Move近日需要程序在运行时将TreeView节点拖放到RichTextBox。发现RichTextBox没有DragOver等事件,但有EnableAutoDragDrop属性,于是设置为true。运行程序,可以从外部拖放一些文本、图片到RichTextBox,但是从TreeView拖放节点到RichTextBox时,老是显示类似禁止的那个小图标,无法拖放。难道RichTextBox对于内部拖放没有效果?以下是TreeView点击开始拖放的代码private void treeView1_MouseDown(object sender, Mo
阅读全文
摘要:功能:下载文件。方式:调用Remoting方法,得到整个文件的字节数组,写到本地文件。代码:public static bool DownloadFromTestPool(string pFileName, string pLocalFullPath){ bool isOk = true; System.IO.FileStream write = null; try { System.IO.FileInfo file = new FileInfo(pLocalFullPath); if (!file.Directory.Exists) ...
阅读全文
摘要:我不希望程序员各自编译一份dll来发布,希望由统一的一台机器自动获取源代码并自动生成发布的文件。原来这叫持续集成。这是园内的文章。这里收藏一下。http://www.cnblogs.com/cnblogsfans/archive/2008/04/24/1169689.htmlhttp://www.cnblogs.com/greatqn/archive/2008/08/05/1261298.html
阅读全文
摘要:// 事件访问器的定义int eventCount=0; public event EventHandler NumberChanged { add { eventCount++; numberChanged = value; } remove { eventCount--; numberChanged -= value; } }或取委托数组public event EventHandler NumberChanged;//某个方法内Delegate[] delegates = NumberChanged.GetInvocationList();
阅读全文
摘要:几年前写过同名随笔,但今天应不大适用了。但还有几个朋友留言关注,我重新发布相关代码。首先我们的目的就是运行期间更新dll,并应用dll。这个过程需要应用AppDomain来解决,办法就是创建新的AppDomain加载dll,并在dll更新后创建新的AppDomain来加载新的dll。好了,我们有两个目录需要完成。第一个目标:运行时能更新dll。1.创建AppDomain时设置ShadowCopyFilesAppDomainSetup _setup = new AppDomainSetup();_setup.ShadowCopyFiles = "true";_setup.Lo
阅读全文
摘要:我总相信只要对象离开其作用域并没有被引用到,dotnet会帮我们回收他,当然一般还会告诉我们IO操作(网络也可视为IO操作的一类)需要主动关闭。而我一直忽略了控件也是需要这么做的。工作让我接触到了一个很古怪的问题,客户反馈说每天有一台机器到了11点就会出错。观察并细听用者的反应,我认为与使用次数有关。界面动态不断地加载不定数量的用户控件。起初怀疑是不是反射在某些应用下会引起问题,于是写了个项目模拟实际的应用,测试以下三种办法创建一个用户控件的差异 /// <summary> /// 方式一:全程反射 /// </summary> /// <returns>&
阅读全文
摘要:写了个小程序想看看反射对于效率的影响。public class Class1:IClass//IClass是一个接口,只有一个方法int GetResult(int pMax){ public int GetResult(int pMax) { int result = 0; for (int i = 0; i < pMax; i++) result += i; return result; }}类属于使用ClassLibrary类库。以下是直接调用的代码。int iMax = int.Parse(this.textBox1.Text);DateTime start = DateTime
阅读全文
摘要:考一下大家!!!题一:qty=?doublea = 504,b = 0.1,c = 0.1; double qty =a *b / c; 再来题二:qty=? doublea = 505,b = 0.1,c = 0.1; double qty =a *b / c;题一:504.00000000000006题二:505.0
阅读全文
摘要:今天发现导入数据时打开了很多的Excel进程,上网看了会,都说方法外垃圾回收和杀进程。详细试了试,我的代码似乎只需要Quit就行。代码WinForm程序,excel版本12.0.0.0
阅读全文
摘要:select text from syscomments where id =(select id from sysobjects where name='vw_orderitem'--vw_orderitem为视图的名称)可以查询表名,视图名,存储过程名等select * from sysobjects --where xtype='U' --表名--where xtype='V' --视图名-...
阅读全文
摘要:最近在学习Microsoft的chart控件代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--string[]titles=newstring[]{"2010-01","2010-03","2010-04"};int[]values=newint[]...
阅读全文
摘要:记得06年的时候的一个CRM项目我就想搞清楚office add-in 的开发。无奈项目安排过于紧迫,没有任何的技术储备时间。今天又想起这个方式了。先记录一些学习的网页 How to build an Office COM add-in by using Visual C# .NEThttp://support.microsoft.com/kb/302901http://support....
阅读全文
摘要:在VS2008的单元测试下取程序集所在目录有点别扭。System.Reflection.Assembly.GetExecutingAssembly().Location得到的一个临时的目录,没有引用到测试项目的dll不会拷贝到该临时目录。换言之如果你想动态加载某些类,请先引用到测试项目,无言AppDomain.CurrentDomain.BaseDirectory得到自然是IDE所在的目录。只好这样处理代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/
阅读全文
摘要:我希望自定义的控件打开后,可以将工具栏上的控件拖到该自定义控件上。观察了Pannel控件,似乎简单得很。继承自ScrollableControl,而ScrollableControl继承自Control。两个类都没有重写绘制,只是增加一些属性和重写某些属性值。而Control有一个Controls的集合属性。似乎已做了大部分的事。我尝试直接往Control.Controls添加一个Button代码...
阅读全文
摘要:DataGridView为我们提供了方便的数据列表、编辑的方式。他提供了常用的几个编辑方式分别有DataGridViewButtonColumn、DataGridViewCheckBoxColumn、DataGridViewComboBoxColumn、DataGridViewImageColumn、DataGridViewLinkColumn、DataGridViewTextBoxColumn。如果你想要一个日期的列呢?只有自己去写一个DataGridViewColumn。
阅读全文
摘要:从2.1开始,NHibernate支持新特性EntityMode.Map,可以帮助你想要持久化设计模型,而不想写任何Domain实体。因为一个同事在研究这方面的东西,于是我也稍关心一下。李永京的博客详细说明了这个特性http://www.cnblogs.com/lyj/archive/2009/08/05/nhibernate-new-features-entitymode-map.html文中说...
阅读全文
摘要:没有动力写下去了。框架基本完成了。addin的代码还没有去写,只有一个windowsApp能演示基本的实例定义、枚举定义。实体的字段类型只需通过配置文件配置<EntityFieldTypes> <tp name="String" dot="System.String" builder="entity_val" leng...
阅读全文
摘要:假设我有一个方法,[代码]他做很多的工作。并会根据pCommandName的不同来使用pParameter,pParameter有可能是一个对象的XML序列化的字符串。当一个对象很大时,如一个集合,我很担心上传的流量。我想到了压缩、二进制序列化、字节来改动上面的方法。首先尝试改为字节参数[代码]使用TCP跟踪器,发现pParameter传送的base64的字符串,看来是框架自己加了处理。好了,那就...
阅读全文