winform_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> winform >>列表
· 我的开发框架(WinForm)发布时间:2013-08-26
近来,看园子里,好多同学,展示自己工作中的开发框架,有的功能强大,有的短小精悍,我也来凑个热闹,望各位大侠指点一二。一、指导思想    1、尽量减少程序员对数据库的依赖,或者说尽力少的写sql语句。根据以前做项目的经验,大概10%的代码时间,在拼sql,主要是想利用现有的ORM技术,使得程序员能摆脱大部分拼sql的工作。    2、支持多种数据比如Sqlerver、Oracle等。公司是做项目为主... 查看全文
· C#开发WinForm分页控件发布时间:2013-08-25
WinFormPager.dll控件下载地址WinFormPager源代码下载地址以下是调用分页控件WinFormPager方法://第一步:指定返回的记录数winFormPager1.RecordCount=返回记录数;//第二步:在控件的PageChanged事件中执行绑定DataGridView的方法privatevoidwinFormPager1_PageChanged(){dataGridView1.DataSource=GetList(winFormPager1.PageSize... 查看全文
只是在平常的工作中,需要自己开发一些控件。在自己开发WinForm控件的时候,没有太多可以借鉴的资料,只能盯着MSDN使劲看,还好总算有些收获。现在我会把这些经验陆陆续续的总结出来,写成一系列方章,希望对看到的朋友有所帮助。今天我来开个头。其实开发WinForm控件并不是很复杂,.NET为我们提供了丰富的底层支持。如果你有MFC或者API图形界面的开发经验,那么学会WinForm控件可能只需要很短的时间就够了。自己开发的WinForm控件通常有三种类型:复合控件... 查看全文
前几篇文章我们一直在讨论如何更方便的编辑复杂类型的属性,在这个过程中我介绍了类型转换器以及如何制作自己的类型转换器来实现属性值的串行化和实现子属性的编辑。对于Scope这种级别的复杂属性,一个类型转换器就已经足够了,但是对于更为复杂的属性,单单使用类型转换器已经不足以应付了,比如我们常用的Font属性。在这种情况下,我们就需要提供更为复杂的编辑方式,比如属性编辑对话框,你还记得Font对话框吗?现在我们就来看看如何实现更复杂的属性编辑。复杂的属性编辑器分为两种类型... 查看全文
在上一篇文章,我为控件添加一个一个复杂属性,并且为这个属性的类型的编写了一个类型转换器,现在我们来看看这个类型转换器的代码,并解释一下这些代码的意义。要实现一个类型转换器,我们必须要重写(override)四个方法:CanConvertFrom()――根据类型参数进行测试,判断是否能从这个类型转换成当前类型,在本例中我们只提供转换string和InstanceDescriptor类型的能力。CanConvertTo()――根据类型参数进行测试,判断是否能从当前类型转换成指定的类型... 查看全文
· Winform开发框架重构总结发布时间:2013-08-19
最近一直致力于Winform开发框架的重构工作,因为发现要维护传统Winform开发框架、WCF开发框架、混合式开发框架,以及相关的模块,包括权限管理、字典管理模块、附件管理、人员管理等一些辅助模块,很多代码都会有重复的部分,优化的框架是想提高效率,减少冗余重复代码,本文总结Winform开发框架重构工作中的一些经验总结,以飨读者,希望能够对大家有一定的参考作用。1、公用类库的分离处理我的公用类库是自己开发这么多年的总结、收集和整理,对大多数的类库均进行优化整理过,公用类库的本意是对... 查看全文
项目用到的知识点总结,欢迎大家吐槽:///<summary>///转换非yyyy-MM-dd的字符串为DateTime类型///</summary>publicstaticvoidConvertDateFormat(){stringorginStr="test-test-20130607.xls";stringdateStr=orginStr.Split('-')[2].Split('.')[0];Console.WriteLine(dateStr)... 查看全文
说说WebForm:数据列表控件:WebForm下的列表绑定控件基本就是GridView、DataList、Repeater;当然还有其它DropDownList、ListBox等。它们的共同的设置数据源方法:XXX.DataSource=数据源。那么这个数据源的格式,究竟有啥要求?最简单的方式是随便给弄个,然后等它抛异常:从上面的错误可以看的出来,基本上支持三种数据源绑定方式:IListSource,IEnumerable,IDataSource。说说Winform数据列表控件... 查看全文
第一步:首先我们创建一个winfor的项目第二步:我们建一个窗体在一个窗体里面打开一个另外的窗体另外的窗体有一个按钮点击后就开始下载下载完成后在注册窗体上面显示下载完成(达到在一个窗体里面修改另外的一个窗体)privatevoidbutton1_Click(objectsender,EventArgse){FormLoadfl=newFormLoad();fl.Show();}第三步:完成下载窗体的进度条privatevoidbutton1_Click(objectsender... 查看全文
· Winform控件Enable=false显示优化发布时间:2013-08-08
在B/S开发中(ASP.NET),往往可以css样式表来让页面控件更加美观,但是在C/S中(Winform)里面,我们则需要通过其他取巧的方式来实现。例如:当你因为某个需求需要将控件设置为Readonly=True或是Enable=False的时候。这时候控件显示往往会变成暗灰色,如图:这时候,我们如果希望窗体有较好的用户体验,那么我们可以将TextBox的背景色设置为白色,这样就可以有较好的显示效果。this.textBox1.BackColor=Color.White... 查看全文
· [WinForm]安装字体两种方式发布时间:2013-08-05
在实际开发项目中,需要在客户端安装字体,一种是通过代码将字体文件复制到系统FONT目录即可,另一种通过安装文件实现,至于其他方式还未知晓。方式一:通过代码实现安装publicclassFontOperate{[DllImport("kernel32.dll",SetLastError=true)]staticexternintWriteProfileString(stringlpszSection,stringlpszKeyName,stringlpszString)... 查看全文
· Winform 在DataGrid中签入Combo发布时间:2013-08-04
背景最近看了Winform在DataGrid中怎么嵌入Combo,想到平时项目中写到的一些临时小工具,经常用配置参数,有些配置是简单的地址或文本,有些则是类似1代表SQL,2代表Oracle等。于是想结合刚刚学的知识,做一个示例。关于参数的保存,想到用数据库,简单点就是用SQLite,可以无需安装数据库,后来想想,干脆用文件进行存储,这样简单,而且.net对Json的支持很好。资源下载示例代码实现1.设计数据结构。publicclassListItem{publicList<... 查看全文
在项目当中有一组选择项,要求单选并且可以取消,但Winform提供的单选按钮一旦选择上就不能取消了,经过研究和测试,总算搞定了功能的要求,主要代码如下,就不一一说明了,代码里有注释,给有需要的朋友一个参考,Demo在下面。privateboolcheckedStatus=false;///<summary>///当前按钮选择状态,true已选择///</summary>publicboolCheckedStatus{get{returncheckedStatus;... 查看全文
故事的开端是这样的,小白是一个程序员,他确实也是一个小白,目前还在程序员发展的道路上,兢兢业业的小心求学。有一天,小白接到一个任务,完成一个Winform程序,附加一个功能就是可以读IC卡。小白终于有机会一展身手了!!不免内心兴奋。再联系了IC卡厂家,拿到开发SDK后,小白不久就碰到了以下难题:1、厂家的读卡器是通过API给定的事件ReadCard()驱动的,而读卡器在ReadCard事件驱动以后,可以在往后的3s以内侦测是否有IC卡片在附近:(1)3s内,有IC卡在设备附近,立即读卡... 查看全文
· Winform 模拟Session发布时间:2013-08-01
背景在Web中Session的功能很好用,于是想Winform中实现该功能,典型应用场景则是登陆成功后,当一段时间不操作,则该会话过期,提示重新登陆。资源下载测试代码示例说明:登陆进去10s不操作或者访问Cache后10秒不操作,则会提示登陆超时实现1.设计CacheContainer类,使用Dictionary存放变量,并添加互斥锁SyncRoot,避免多线程操作带来异常。2.CacheContainer内部的变量,如果持续10秒(测试使用的默认值)没有访问或操作,则自动移除该变量... 查看全文
SqlConnectioncn=newSqlConnection();cn.ConnectionString="DataSource=192.168.16.71;InitialCatalog=myWork;UserID=sa;Password=sa";try{cn.Open();SqlCommandcmd=newSqlCommand();cmd.Connection=cn;stringsql2="select*fromdbo.工作微博where姓名='"+this.textBox1... 查看全文
问题的产生:我的WinForm程序中有一个用于更新主窗口的工作线程(workerthread),但文档中却提示我不能在多线程中调用这个form(为什么?),而事实上我在调用时程序常常会崩掉。请问如何从多线程中调用form中的方法呢?解答:每一个从Control类中派生出来的WinForm类(包括Control类)都是依靠底层Windows消息和一个消息泵循环(messagepumploop)来执行的。消息循环都必须有一个相对应的线程... 查看全文
前言先说明一下,本人不太做winform的项目,工作10年以来,一直奋斗在webform的舞台上,今天有机会也接触了一下winform,下面对工作中用到的BeginInvoke方法作一下说明,和大家也一起学习一下,呵呵。BeginInvoke产生的原因首先一个winform程序运行后,会有一个主线程(UI),我们看到的页面上的元素,表单,列表框等等都运行在主线程上的,主线程一阻塞,这些东西就都点不了了,呵呵,所以,在我们运行一些耗时的功能时,通常会开启一个新的线程去干这事,这是和乎情理的... 查看全文
做过很多winform项目,都为winform控件头疼不已。想实现一些漂亮的样子总是很难。我这里列举几个缺点:1.winform控件大多是绝对布局,你需要给出准确的坐标。那么在实现居中效果就会很难。2.学习成本,也了解各个控件的结构,属性等。要想更熟练的掌握需要很多时间。3.实现界面的成本,调整各个窗体,控件的样式到原型图的效果要用很长时间。4.维护,需要懂得WINFROM的程序员来进行维护。先想到这么多.我接触android后,发现android实现UI的方式很有意思,使用xml描述视图... 查看全文
很多时候,我们要实现Winform异步操作,你可以用传统的方法,但个人感觉代码不好理解,而且使用真有点不舒服。也可以用Task来实现,Task(.net4.0新添加的对象)其实就是对线程池线程的一个封装,里面功能比较多,也比较好操作,其他的不多讲,今天只讲异步操作,举个简单的例子吧:先上个图:单击Go按钮,数字自动增加,比较简单。直接上代码:1publicpartialclassForm1:Form2{3privateCancellationTokenSourcects=null... 查看全文