随笔分类 -  C#

摘要:(1)DataGridView 今天在项目时遇到一个问题,将DataTable绑定到DataGridView,其中一列为CheckBox列,当我修改该列值时,触发CellValueChanged事件。当我在此事件中处理它的DataSource时,发现该单元格对应的DataTable的值尽管已经改变... 阅读全文
posted @ 2015-03-20 09:21 zzlp 阅读(505) 评论(0) 推荐(0)
摘要:c#自动更新+安装程序的制作 (转) http://blog.csdn.net/myhuli120/article/details/6927588一、自动更新的实现让客户端实现自动更新,通常做法是在客户端部署一个单独的自动更新程序。主程序启动后,访问服务端,检查配置文件是 否有更新版本,有更新版本就... 阅读全文
posted @ 2015-03-02 08:41 zzlp 阅读(3953) 评论(0) 推荐(0)
摘要:vs2005为winform程序做的安装包。在以有程序旧版本的机子上用新版本的安装包安装软件时提示 “以经安装该产品的另一个版本。无法继续安装此版本........” 在安装部署项目中设“RemovePreviousVersion”为true后也不行。 还是提示要卸载旧版本才能安装新版本。。如何设置... 阅读全文
posted @ 2015-02-06 11:01 zzlp 阅读(1387) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.Text;using System.Xml;using System.IO;namespace ConfigMgrTest{ public class SystemConfig... 阅读全文
posted @ 2015-01-30 16:07 zzlp 阅读(323) 评论(0) 推荐(0)
摘要:Apperarance 属性:FaltbuttonsSizeMode属性:Fixed各个TabPage的Text :空ItemSize : Width=0;Height=1; 阅读全文
posted @ 2014-12-26 16:04 zzlp 阅读(283) 评论(0) 推荐(0)
摘要:public System.Windows.Forms.DataGridView dataGridView1 { get { lock (ojb) { ... 阅读全文
posted @ 2014-12-23 11:33 zzlp 阅读(185) 评论(0) 推荐(0)
摘要:因为写的程序涉及到多线程维护一个DataGridView,然后蛋疼的发现经常卡死。。。一开始以为是读写冲突的原因,然后就加了锁,问题依旧。。。然后发现每次出现滚动条的时候程序才会无响应,所以感觉应该是滚动条出现问题。。。网上说用Invoke就可以解决问题,试了一下,可能是我使用的方法不对,还是没有解... 阅读全文
posted @ 2014-12-23 11:32 zzlp 阅读(3387) 评论(0) 推荐(0)
摘要:网上有不少人提出过类似的问题:“看到有人写了WHERE 1=1这样的SQL,到底是什么意思?”。其实使用这种用法的开发人员一般都是在使用动态组装的SQL。让我们想像如下的场景:用户要求提供一个灵活的查询界面来根据各种复杂的条件来查询员工信息,界面如下图:界面中列出了四个查询条件,包括按工号查询、按姓... 阅读全文
posted @ 2014-12-22 13:11 zzlp 阅读(507) 评论(0) 推荐(0)
摘要:当页面只有一个dataGirdView时,调用From的Activated函数,在Activated函数里调用以下两个函数,可清除默认选择行private void From_Activated(object sender, EventArgs e) { MyTask.ClearSelection... 阅读全文
posted @ 2014-12-16 09:25 zzlp 阅读(380) 评论(0) 推荐(0)
摘要:当页面只有一个dataGirdView时,调用From的Activated函数,在Activated函数里调用以下两个函数,可清除默认选择行private void From_Activated(object sender, EventArgs e) { MyTask.ClearSelection... 阅读全文
posted @ 2014-12-16 09:25 zzlp 阅读(2118) 评论(0) 推荐(0)
摘要:this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;3.Application.ExitThre... 阅读全文
posted @ 2014-12-12 10:38 zzlp 阅读(7034) 评论(0) 推荐(0)
摘要:datagridview的数据源操作在一个方面里面处理不要多个地方处理并且处理的时候要加锁红叉 应该是多线程操作出现的。trycatch只是起到捕获异常的功能,但是一旦出现了这种错误。控件自身就出异常了。所以 try catch 可以避免程序不崩溃,但是不能保证不出现红叉只要在操作数据源的地方加就可... 阅读全文
posted @ 2014-11-24 16:49 zzlp 阅读(2124) 评论(0) 推荐(0)
摘要:int pageSize = 0; //每页显示行数 int nMax = 0; //总记录数 int pageCount = 0; //页数=总记录数/每页显示行数 int pageCurrent = 0; //当前页号... 阅读全文
posted @ 2014-11-24 13:50 zzlp 阅读(4079) 评论(0) 推荐(0)
摘要:本文数据库的名称为ProjectControl public static SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=000;database=ProjectControl");//备份 pub... 阅读全文
posted @ 2014-11-24 11:17 zzlp 阅读(210) 评论(0) 推荐(0)
摘要:在使用treeview的AfterSelect函数的时候,单击同一节点多次无响应。解决方法:将首次单击的节点信息保存到selectTreeNode;然后使用click函数,判断单击的节点是否和selectTreeNode一致。如果一致执行。关键步骤:1、根据鼠标位置得到当前活动节点。当然这一步得到的... 阅读全文
posted @ 2014-11-14 08:52 zzlp 阅读(831) 评论(0) 推荐(0)
摘要:1、SortedList定义System.Collections.SortedList类表示键/值对的集合,这些键值对按键排序并可按照键和索引访问。SortedList 在内部维护两个数组以存储列表中的元素;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键/值对。键不能为null,但值可以。2.优点1、SortedList 允许通过相关联键或通过索引对值进行访问,可提供更大的灵活性。2、可根据需要自动增大容量。3. SortedList的构造器构造器函数注释SortedList () 初始化 SortedList 类的新实例 阅读全文
posted @ 2013-12-18 09:33 zzlp 阅读(2600) 评论(0) 推荐(0)
摘要:在unicode 字符串中,中文的范围是在4E00..9FFF:CJK Unified Ideographs。通过对字符的unicode编码进行判断来确定字符是否为中文。protected bool IsChineseLetter(string input,int index){int code = 0;int chfrom = Convert.ToInt32("4e00", 16); //范围(0x4e00~0x9fff)转换成int(chfrom~chend) int chend = Convert.ToInt32("9fff", 16);if (i 阅读全文
posted @ 2013-12-03 10:32 zzlp 阅读(2052) 评论(0) 推荐(0)
摘要:List Plans = new List();//存放服务器中的当前用户所接受的项目计划列表。 //Plan 类包含PlanID等属性。if (Plans.Contains(changedPlan, Comparers.Default)){} //判断Plans中是否存在与changedPlan相同的Plan。 //(只需判断其PlanID是否相同即可。其他内容可忽略) // Comparers.Default为自定义比较器。 public class Comparers : IEqualityComparer//比较器定义其继承与IEqualityComparer接口 { publi... 阅读全文
posted @ 2013-11-28 09:59 zzlp 阅读(806) 评论(0) 推荐(0)
摘要:引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一句问 阅读全文
posted @ 2013-08-23 10:00 zzlp 阅读(1337) 评论(0) 推荐(0)
摘要:突然学到了,所以就放到博客上来共享一下,权当是学习日记吧。首先说明一下,数组是引用类型的,所以注意不要在复制时复制了地址而没有复制数值哦!其实在复制数组的时候,一定要用new在堆中开辟一块新的空间专门用于存放数组,这样才是有效的。(1)int[] pins = { 9, 3, 7, 2 };int[] copy=new int[pins.length];for(inti = 0; i < copy.length; i++){copy[i] = pins[i];}(2)int[] copy =newint[pins.Length];pins.CopyTo(copy, 0);(3)Int[] 阅读全文
posted @ 2013-08-16 15:18 zzlp 阅读(1762) 评论(0) 推荐(0)