木子屋 Dnawo's BLOG

分类:Win编程

共 358 篇

WinForm使用单例模式打开窗体示例

例如在Windows应用程序中用下面代码打开一个窗体: 其结果是每点一次按钮都会打开一个窗体,最后可能是这样: 这显然这我不是我们想要的,正常应该是点击按钮时判断窗体有没有打开过,有打开过显示激活窗体,没有则创建并打开窗体,对代码稍做修改: 这样可以满足上边需求,但是如果有多个地方需要打开窗体,同样的代码就得copy多次,这个场景下,我们可以使用单例模式来解决: About.cs: 调用方法:

WinForm打印多页示例

using System; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { private PrintDocument printDocument1; //PrintDocument private int pagenow = 0; //已打印页数 private int papercount = 3;…

POS58票据打印机走纸测试

1.打印文本 这种方法走纸正常,但文本显示不好控制(右边文本没有显示完)。 2.打印控件(Panel) 不要去测试这段代码,我测试时纸走了2米多还在走-_-#,于是做了下改进: 打印成功。注意,上面代码用e.Graphics.VisibleClipBounds获取打印区域,不要用e.PageBounds,我被网上一篇文章误导用了它,结果打印总有问题被折腾了很久。 参考资料 .PrintPageEventArgs类:http://msdn.microsoft.com/zh-cn/library/system.drawing.printing.printpageeventargs(v=vs.80).aspx

C#获取本机安装的所有打印机名称

using System; using System.Drawing.Printing; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent();…

InstallShield 2013 Limited Edition安装包不能更新旧版本程序

InstallShield 2013 Limited Edition for Visual Studio生成的安装包不能更新旧版本程序,也找不到设置的地方: 已经安装了该产品的另一个版本,无法继续安装此版本。可以使用“控制面板”中“添加/删除程序”来配置或删除该产品现有版本。 InstallShield Premier Edition生成的安装包则没有这个问题:

C#获取线程编号示例

有时我们需要确定应用程序是否启用了多线程,此时可以通过获取线程编号进行判断(Thread.Name属性值常为空不能用于判断):

InstallShield跟.NET相关的prq文件汇总

·Microsoft .NET Framework 2.0 (x64).prq ·Microsoft .NET Framework 2.0 (IA64).prq ·Microsoft .NET Framework 2.0 SP1.prq ·Microsoft .NET Framework 2.0 SP1 (x64).prq ·Microsoft .NET Framework 2.0 SP1 (IA64).prq ·Microsoft .NET Framework 2.0 SP2.prq ·Microsoft .NET Framework 2.0 SP2 (x64).prq ·Microsoft .NET Framework 2.0 SP2 (IA64).prq…