最近手头上的项目终于忙得差不多了,想起好久没有更新了的NanUI,再看着每天QQ群未读消息闪烁的标志,突然才发现似乎愧对了群里各位喜爱NanUI的朋友们.于是乎,就想趁这几天有时间,好好的修复一下NanUI已知的BUG,再用有限的时间推进整个项目的进度. 在复习代码的时候,想起了群里有朋友提出说NanUI的窗口的几个问题: 在某些Win7环境下会出现窗口标题绘制错误: Win8下面窗口阴影没有问题 模拟绘制的影子拖动窗口改变大小时绘制缓慢资源占用大 原来NanUI呈现窗口的方式有两种,一种是使用…
例如Form1是你的主窗体,然后Form2是你的要关闭那个窗体,在Form1中SHOW FORM2的窗体那里加上一句f2.FormClosed += new FormClosedEventHandler(Form1_FormClosed);然后在Form1_FormClosed方法内部写你的刷新代码…
  成功了,把代码帖出来给大家看看,跟我刚开始帖出来的差不多,是需要杀掉进程的,我之前调用的存储过程,可能有点问题,现在改成sql了/// <summary>        /// 数据库备份        /// </summary>        public static int DbBackup(string serverip, string username, string psw, string path)        {            int ret;   …
参考自 http://blog.csdn.net/yilan8002/article/details/7197981 /// <summary> /// 窗体动画函数 注意:要引用System.Runtime.InteropServices; /// </summary> /// <param name="hwnd">指定产生动画的窗口的句柄</param> /// <param name="dwTime">…
winform窗体置顶 金刚 winform 置顶 今天做了一个winform小工具.需要设置置顶功能. 网上找了下,发现百度真的很垃圾... 还是必应靠谱些. 找到一个可以链接. https://social.microsoft.com/Forums/zh-CN/09f1343d-9827-4978-914f-bad8f499356a/winform?forum=visualcshartzhchs 所以设置winform窗体的方法: 把winform的窗口,属性,设置TopMost 属性=tr…
系列目录    [已更新最新开发文章,点击查看详细]  WPF底层使用 DirectX 进行图形渲染.DirectX  能理解可由显卡直接渲染的高层元素,如纹理和渐变,所以 DirectX 效率更高.而 GDI/GDI+不理解这些高层元素,因此必须将他们转换成逐像素指令,而通过现代显卡渲染这些指令更慢.WinForm 的绘图技术使用的就是GDI/GDI+技术.但是xBIM并没有提供专门针对传统 WinForm 技术的的模型查看器.如果确实需要在传统的 WinForm 窗体中也要加载并显示BIM(…
在winform 数据库设计中,有时候需要通过条件查询对应的数据,并且将数据显示在文本框(or 富文本框)中,下面,小编将讲述通过一个条件: 首先,我们需要对数据库建立连接,并且执行数据库命令,在此之前,我们先创建一个winform窗体,窗体设计大概如下所示:    在创建窗体后,我们应该进行书写代码阶段: 1 string s = "server=SAM_PC;database=MInformationDB;Integrated Security=true"; SqlConnecti…
客户端:先创建一个winform窗体的应用程序项目 项目结构…
线程是进程中执行运算的最小单位,也是执行处理机调度的基本单位.实际上线程是轻量级的进程.那么为什么要使用线程呢? (1)易于调度. (2)提高并发性.通过线程可方便有效地实现并发性.进程可创建多个线程来执行同一程序的不同部分. (3)开销少.创建线程比创建进程要快,所需开销很少.. (4)利于充分发挥多处理器的功能.通过创建多线程进程(即一个进程可具有两个或更多个线程),每个线程在一个处理器上运行,从而实现应用程序的并发性,使每个处理器都得到充分运行. 进程和线程的关系 (1)一个线程只能属于一…
首先我我们看一下需求:我们要做的是显示员工信息,实现项目经理给员工评分的功能! 首先项目经理是评分的人所以没有用,因为我们自己写,评分的就是我们自己.所以我们要做的是先在vs也就是我们的环境里建一个项目,在建一个Windows窗体应用程序,然后把控件拖好! 左边是查看员工的信息窗体,右边是给员工评分的窗体: 1.我们现在开始代码部分 我们首先需要一个辅助类,在辅助类里我们要做什么呢?我们要写这些东西. public int id;        public int age;        pu…
如题, 对于winform程序,还是新建一个类库,这样,在类库里面可以添加窗体.这样可以提供其他程序集来调用里面的窗体…
假设类库或winform项目为A,另一个winform项目为B.那麽在A中添加一个接口,里面有一个Show方法,然后在B中写一个类b继承这个接口,并重写这个方法,具体内容为弹出某个窗体.然后在A中另一个类a中实例化B中的b类,并把它赋给A中的接口,然后调用接口的Show方法就可以弹出B中指定的窗体. 需要注意的是项目A和项目B需要互相引入对方的EXE或DLL文件. 转自:http://blog.csdn.net/a1027/article/details/2766396 以下为代码部分: nam…
今天下午程序写完,有些时间就搞下界面美化,做个无框窗体.首先把窗体的FormBorderStyle设置为None,就变成无框的啦,不过你会发现这样窗体上就没有原来的最大最小化和关闭按钮了哦,所以要自己补上去.弄个panel放上去,置顶,可以设置panel的背景色和背景图片什么的,详细布局就不赘述啦,见下图,主要是再放三个小panel进去,用来做最小化.最大化.关闭按钮.下面给出三个panel的事件代码. 关闭代码 private void pnlFormClose_MouseClick(obje…
问题:winform窗体,要实现一个panel漂浮在另一个panel之上,但是运行的时候移动鼠标或者其他操作,上面那个panel就会消失?即只能显示一个panel. 原因:在窗体上拖放控件肉眼观察是平级,其实本质是一个panel属于另一个panel的子控件,也就是后托进来的控件是先托进来的子控件.这样就跑到别的控件里了. 解决方法:打开VS中 视图-文档大纲,查看层次关系.把两个托到同一级,即winform窗体下,完美解决(如下图) 另外如图所示, 如果panel1在panel2之上,不能直接拖…
小数运算需要注意什么? 1. 生活中0.1+0.2=0.3, 计算机中可不是这样,为什么呢? 大家都知道计算机类型都是有数据范围的.整形int范围是 正负21亿左右,小数类型同样也是有范围的,但是即使0.1~0.2之前如果问你有多少小数? 无穷个!!! 那么有限的范围怎么表示无限的数据呢? 告诉你表示不了,只能存储一个无限接近的数. 另外大家都知道计算机所有数据都是二进制,0.5即 2的-1次方,0.25是2的-2次方,同样解释了为什么不能表达所有小数. 这样大家也就明白下面这个例子 100个0…
不管怎么样~加班两个星期,单独一人,努力将公司需要用的系统给做出来了,也感谢提供技术帮助的可爱人儿~ 首先,系统有个检测版本的功能,若版本不是最新的,则会自动更新(公司要求,必须强制更新)~ 更新界面(简单粗暴) 用了Opacity属性,设置了透明化,有点丑~ 启动界面(主要用于将需要的缓存信息下载至本地,有个等待的过程) 所有的缓存,所必须的配置都在此处处理了,当然,也使用了Opacity属性,透明化了一点,看起来比较舒心. 登录界面(这个不用说了,更简单粗暴) 必要的信息也都在这里提现了,界…
回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan.baidu.com/s/1o6MAKCa       前言:相比以前现在做Net系统Winform版开发有几款不错的控件,如DotNetBar.DevExpress,EFW框架也不能落后加入了DotNetBar控件,有时间也想把DevExpress控件也整合进来,这样让大家又多一个选择:DotNetBar中…
本文转载自:http://www.cnblogs.com/encoding/p/5603080.html 按照惯例,先来几张样例图(注:为了展示窗口阴影效果,截图范围向外扩展了些,各位凭想象吧). 还要来个序 其实,很多年没写过Winform了,前端时间在重构我们公司自己的呼叫中心系统,突然就觉得客户端好丑好丑,对于我这种强迫症晚期患者来说,界面不好看都不知道怎么写代码的,简直就是种折磨,还是满清十大酷刑级别那种. 很多人推荐WPF,不过个人对WPF没啥感觉,而且据说也无法支持2.0,还是采用W…
C#实现WinForm窗体逐渐显示效果,这个博客园里面已经有其它人已经实现了,原理很简单,就是通过定时改变窗体的透明度(从0到1,即透明度从完全透明到不透明),我这里也是按照这个思路来实现的,但是我做的这个窗体是可复用的,即其它窗体继承自它后,就能实现渐显效果,代码如下: using System; using System.ComponentModel; using System.Windows.Forms; namespace TEMS.Forms { public partial clas…
IrisSkin2.dll是一款很不错的免费皮肤控件,利用它可以轻松的实现winForm窗体换肤! 网上很多朋友说在VS2010中不能使用IrisSkin2.dll,我这里提供一个取巧的办法. IrisSkin2.dll目前只能在.NET Faremwork 4.0以及之前的版本使用,所以大家在VS2010中可以将自己的项目框架设置为.NET .NET Faremwork 4.0,具体做法见下图: 右键点击你创建的项目—>属性: 将你的目标框架改为.NET Faremwork 4.0或者之前的版…
在我的设计模式分类当中,我选择单例模式作为我第一个要写的设计模式,其一,单例模式简单.容易理解让人接受,其二,单例模式很常用,在实际的Winform窗体应用开发中能够带来更好的客户体验. 单例模式的核心是在应用程序的生命周期中只实例化一次当前类,让整个应用整个应用程序中只拥有一个当前类实例化的对象,在Winform应用程序中,我们显示窗体的方法有两种方法:第一种,Show()方法,这种方法当点击多次按钮的时候会显示多个当前的窗体,造成操作不便.第二种,ShowDialog()方法,这种方法显示出…
C#  winform窗体假死 我们经常会遇到当执行一个比较大的函数时,窗体会出现假死的现象,给用户的体验不是很好,于是我们遇到了问题,那么就必须解决,我们该如何解决呢,首先在自己的脑里画个问号,接下来我们就一起研究吧! 先分析,这个问题是如何出现的呢!为什么会出现,如何避免出现,避免不了的,如何解决等,下面我们就去解决问题吧,遇到问题不要怕,解决问题是我们成长最快的时候,曾经别人告诉我,不怕不会做,就怕想不到.那我们就进入正题吧! 窗体假死是如何出现的呢? 在调用    testc();函数时…
说起winform程序中窗体之间的参数互传,大家找度娘会找到很多方法: 1.在窗体类中创建全局变量,类型为公开.静态的: 2.在窗体类中定义狗仔函数: 3.通过实践来船体参数: 这三种思路完全来自于霖小屋的c# winform窗体之间传递参数问题总结,大家可以看看他的这篇博客学习学习. 下面我要给大家说的一种方法相对来说有点繁琐,但对于winform程序初学者来说绝对的受用.之前在度娘上寻找winform窗体的显示与隐藏受到点启发,本来winform程序创建新的窗体的时候是不带参数的,为了能够在…
一:CEF全称Chromium Embedded Framework,是一个基于Google Chromium 的开源项目.Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可嵌入浏览器支持. 二:winform窗体嵌套HTML页面需要CEF的相关组件添加到项目引用里,文章结尾附有链接,还有一个模板demo仅供参考 三:winform窗体嵌入HTML的两种情况 1,只是简单的嵌入HTML页面,没有form窗体和页面的逻辑交互,在引入…
一.说明 2012-11-30 曾经写过 <C# WinForm窗体及其控件自适应各种屏幕分辨率>  ,其中也讲解了控件自适应的原理.近期有网友说,装在panel里面的控件,没有效果? 这是控件嵌套的问题,加入即可实现.使用皮肤时,要注意在窗体Load事件中,有些控件(比如DataGridView)的子控件还没有完成,在这里记录控件的个数比较少,而在窗体SizeChanged事件中获取的比较多(是正常的). 解决的方法是,记录控件的初始位置和大小以及处理控件的缩放,都放到窗体SizeChang…
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDialog方法 (窗体显示为模式窗体) Form.Show方法 (窗体显示为无模式窗体) 两者具体区别如下: 1.在调用Form.Show方法后,Show方法后面的代码会立即执行 2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码 3.当窗体显示为模式窗体时,单击“关…
C# WinForm窗体及其控件自适应各种屏幕分辨率 一.说明  我们自己编写程序的界面,会遇到各种屏幕分辨率,只有自适应才能显的美观.实际上,做到这点也很简单,就是首先记录窗体和它上面控件的初始位置和大小,当窗体改变比例时,其控件的位置和大小也按此比例变化即可.因为窗体上控件的位置和大小是相对于自己所在的窗体的,也就是所谓的窗口坐标.  在这里我们只考虑相对于自己窗体的窗口坐标更简单,也就是成比例变化.为了多个窗体共用,我在这里创建一个类AutoSizeFormClass ,1.使用它去记录窗…
原文: Setting Up An OpenGL Window 欢迎阅读我的OpenGL教程.我是一个热爱OpenGL的普通码农!我第一次听到OpenGL是在3Dfx刚发布他们给Voodoo I显卡的OpenGL硬件加速驱动的时候.我马上意识到我必须学习OpenGL.不幸的是,当时在网上很难找到关于OpenGL的书和资料.我花了数小时来编写可运行的代码,并且花了更多时间去发邮件和在IRC上求教别人.但是我发现懂OpenGL的人会当自己是神,并且完全没兴趣分享他们的技术.他们真的很烦! 我创建此站…
原文:C# Winform 窗体界面"假死"后台线程阻塞 解决办法–BeginInvoke 这个方法可以用在任何后台任务耗时较长,造成界面“假死”界面控件不更新的情况. 比如要要执行的数据库操作是几十万条的update语句,如果在click事件里阻塞或者做Thread.Sleep或一个耗时很长的操作,窗口就会无响应点不动了.故需要用this.BeginInvoke方法来异步执行UI线程的操作,更新界面显示. //导入按钮点击事件 private void btn_import_Clic…
观察者模式的应用:Winform窗体传值 观察者模式的概念: 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并更新. 今天我们就学着用一下这个观察者模式,先想象下这个场景:当一个窗体(主窗体)内的值发生变化时,另外几个窗体内的值也会发生相应的变化.这个最简单的实现方式是,在子窗体类内创建一个公共方法,在主窗体内创建子窗体的实例.当值发生变化时调用子窗体的公共方法.还有一种简单方法是用静态属性,相当于全局变量,这个只能针对小型应用.第一种有一个缺点,当增加子…