Wix 安装部署教程(十一) ---QuickWix

Wix 安装部署教程(十一) ---QuickWix      这次发布的是这两天做的一个WIX工具QuickWIX,主要解决两个问题点1.对大文件快速生成wix标签(files,Directories,ComponentRef);2.比较前后两次工程的差异。大的WIX工程有好几千个文件,开发人员增加dll,或者资源文件都是不确定的,而且很多时候我们无法直接取代,所以需要一个对比的功能,来告诉打包
阅读本文

C# WinForm控件之advTree

1.对advTree操作都是在Nodes属性基础上的如:新建 一个Node并添加到tree中Node n = new Node(); n.Text = “小张“; avt.Nodes.Add(n); n = new Node(“小王“); avt.Nodes.Add(n);2.取选中节点的值avt.SelectedNode.Text;
阅读本文

WinForm排列MDI子窗体

如果一个MDI窗体中有多个子窗体同时打开,假如不对其排列顺序进行调整,那么界面会非常的混乱,而且不容易浏览。那么如何解决这个问题呢?我们可以通过使用带有MdiLayout枚举的LayoutMdi方法来排列多文档界面父窗体中的子窗体。语法:public void LayoutMdi (MdiLayout value)value:是MdiLayout枚举值之一,用来定义MDI子窗体的布局。MdiLay
阅读本文

C#中关于TabControl设置选项卡的大小问题

今天在使用Winform下的TabControl控件时,发现选项卡大小的调整不仅仅是设置宽度和高度那么简单,下面 对TabControl选项卡大小的设置进行总结(以显示在顶部的选项卡为例):      设置选项卡大小的第一步就是设置TabControl的SizeMode属性,SizeMode属性返回枚举TabSizeMode, TabSizeMode有三个值,分别是Normal,Fi
阅读本文

如何学习一门编程语言

前言很多人喜欢争论什么什么编程语言好,我认为这个话题如果不限定应用范围,就毫无意义。每种编程语言必然有其优点和缺点,这也决定了它有适合的应用场景和不适合的应用场景。现代软件行业,想一门编程语言包打天下是不现实的。这中现状也造成了一种现象,一个程序员往往要掌握多种编程语言。学习任何一门编程语言,都会面临的第一个问题都是:如何学习 XX 语言?我不想说什么多看、多学、多写、多练之类的废话。世上事有难易
阅读本文

c#POST请求php接口

POST请求php接口/// <summary> /// 指定Post地址使用Get 方式获取全部字符串 /// </summary> /// <param name=“url“>请求后台地址</param> /// <returns></returns> public string Po
阅读本文

Winform + ADO.Net 实现分页查询

使用ADO.NET + 存储过程,在winform里实现分页查询的功能。实现思路:使用存储过程,根据查询条件,查出若干个表;返回DataSet,再去读取DataSet的Table。以一个超市管理系统里面登录日志的查询为例,做示例代码。数据库表结构一部分测试数据:存储过程编写 1 if exists(select * from sysobjects where name=‘usp_LoginLog
阅读本文

线程操纵UI问题

WPF只允许UI线程修改UI,其他线程必须通过Invoke、委托(安全性)Winform可以开启/关闭“只允许UI线程修改UI”在WPF中非UI线程修改UI的方法非UI线程直接修改UI,会报错System.InvalidOperationException:“调用线程无法访问此对象,因为另一个线程拥有该对象。” 正确的做法是Task t = new Task(() => { NameLab
阅读本文

在C#中使用WIA获取扫描仪数据

在C#中使用WIA获取扫描仪数据(一)WIA(Windows Image Acquire,最新版本2.0)是Windows中一组从设备中捕获图像的标准API集合,它可以从设备(例如扫描仪、数码相机)中获取静态图像,以及管理这些设备。它既是API,又是DDI(Device Driver Interface)。因此,只要是满足这个规范的设备,都能够利用WIA直接和应用程序交互,而不是通过驱动。WIA甚
阅读本文

Win form碎知识点

判断1.ds不能为空 2.ds的表数量必须大于0 3.判断ds的第一个表中的行数必须有 if (ds.Tables.Count > 0 && ds != null && ds.Tables[0].Rows.Count > 0) 首先ds不能为空,然后ds大集合里的table要有(数量>0)ds.tables.count>0 ds.tables[0].Rows.Count>
阅读本文

winform combox禁用鼠标滚轮小技巧

winform原生combox,点击之后,焦点一直都在,在还没点其他地方的时候,滚动滚轮会导致值的改变。原理很简单:当mouse_leave的时候,取消他的焦点就可以了。代码如下: private void Cmb_MouseLeave(object sender, EventArgs e)         {             if(sender.GetType() == typeof(C
阅读本文

.Net版InfluxDB客户端使用时的一些坑

1.如果应用程序是WebAPi,则需要使用同步版的InfluDB客户端 2.如果应用程序是Winform或Console程序或Windows服务,则使用同步或异步版客户端都可以,建议用异步版 3.如果写InfluxDB时,某一列是int型或Long型,influxdb协议会在数字后面加一个“i”,但是在InfluxDB数据库中,有时会出现负数,建议都用double类型
阅读本文

WPF 调用API修改窗体风格实现真正的无边框窗体

WPF 调用API修改窗体风格实现真正的无边框窗体WPF中设置无边框窗体似乎是要将WindowStyle设置为None,AllowTransparency=true,这样才能达到WinForm中无边框窗体的样式。 但是AllowTransparency=true后WPF性能会大大降低,动画很卡。无奈只好关闭; 仅设置WindowStyle为None,似乎达不到理想效果,还是有边框: 立刻想到
阅读本文

安装包制作工具 SetupFactory使用1 详解

Setup Factory 是一个强大的安装程序制作工具。提供了安装制作向导界面,即使你对安装制作不了解,也可以生成专业性质的安装程序。可建立快捷方式,也可直接在 Windows 系统的注册表加入内容,还能在 Win.ini 和 System.ini 内加入设定值,更可以建立反安装选项等等。它内附的向导可以一步步的带领您做出漂亮又专业的安装程序。  本篇通过一个WinFrom项目制作安装包程序
阅读本文

Winform中显示Office文档(word,EXCEL,PPT)

最近所做的项目中需要在Winform窗体中显示Office文档。刚开始就使用webBrowser控件实现的,但是后来发现这个控件在显示Office文档的时候有个限制:只支持Office2003之前的版本,之后的版本都有问题。在网上也有很多人遇到这个问题,找了好久的解决方案都没有找到,后来在一个网站上面找到了一个第三方的控件,可以很好的支持这个功能,就是Dsoframer(可以从网上找到关于Dso
阅读本文

应用程序有bug崩溃重启的案例2

------解决思路----------------------另外做一个服务或者程序定时监控系统进程。程序奔溃的话,都会在入口函数出现异常处理一下winform可以有两个事件来捕获主线程异常和线程异常,Application.ThreadException和Application.SetUnhandledExceptionMode你做一个保姆程序,主程序启动时通过ServiceControlle
阅读本文