winform

C# WINFORM的定时作业 sleep和Quartz区别(Quartz并不好用)

被刻印的时光 ゝ 提交于 2020-03-04 15:45:08
程序需要实现定时作业的功能经常会遇到,之前我一直使用Sleep,今天我突然觉得C# 应该有简单的定时作业类可以使用吧,于是我百度了一把,果然有一个Quartz,但是使用后发现只能加载静态类代码,其实很不灵活。 一、C# WINFORM 中使用Quartz的例子代码: 1、VS2019创建一个WINFROM项目,NuGit管理器中直接安装Quartz。 2、加入下面的代码, 我专门为Quartz启动了一个线程m2: 1) Quartz的实现要建一个工厂factory, 2)建一个定时作业scheduler 3)加入一个工作项目job 4)加入一个触发条件trigger 5)最后执行就好。 注意这行代码: IJobDetail job = JobBuilder.Create<JobDemo>().Build(); 这个尖括号<>里面需要用到一个类,为此我们还要专门提供这个类 public class JobDemo:IJob,并在代码中加入定时执行的作业,这非常的不科学,静态的类不够灵活,很难访问instance中的全局变量,所以定时作业的使用会有很大的限制。虽然代码还是实现了5秒提示一个消息窗口,但是我准备不用Quartz。 using Quartz; using Quartz.Impl; namespace WindowsFormsApp1 { public partial

Winform中读写配置文件

徘徊边缘 提交于 2020-03-03 06:57:37
1. 向项目添加app.config文件: 右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“app.config”,单击“确定”。出现在设计器视图中的app.config文件为: <?xmlversion="1.0"encoding="utf-8" ?> <configuration> </configuration> 在项目进行编译后,在bin\Debuge文件下,将出现两个配置文件(以本项目为例),一个名为“JxcManagement.EXE.config”,另一个名为“JxcManagement.vshost.exe.config”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保存于此;第二个文件为原代码“app.config”的同步文件,在程序运行中不会发生更改。 2. connectionStrings配置节: 请注意:如果您的SQL版本为2005 Express版,则默认安装时SQL服务器实例名为localhost\SQLExpress,须更改以下实例中“Data Source=localhost;”一句为“Data Source=localhost\SQLExpress;”,在等于号的两边不要加上空格。 <!--数据库连接串-->

winform(C#)里几种弹出对话框

*爱你&永不变心* 提交于 2020-03-02 05:39:45
//消息框中需要显示哪些按钮,此处显示“确定”和“取消” MessageBoxButtons messButton = MessageBoxButtons.OKCancel; //"确定要退出吗?"是对话框的显示信息,"退出系统"是对话框的标题 //默认情况下,如MessageBox.Show("确定要退出吗?")只显示一个“确定”按钮。 DialogResult dr = MessageBox.Show("确定要退出吗?", "退出系统", messButton); if (dr == DialogResult.OK)//如果点击“确定”按钮 { …… } else//如果点击“取消”按钮 { …… } MessageBoxButtons指定若干常数,用以定义MessageBox上将显示哪些按钮(来自MSDN) MessageBoxButtons成员: 成员名称 说明 AbortRetryIgnore 消息框包含“中止”、“重试”和“忽略”按钮。 OK 消息框包含“确定”按钮。(默认) OKCancel 消息框包含“确定”和“取消”按钮。(上例所示) RetryCancel 消息框包含“重试”和“取消”按钮。 YesNo 消息框包含“是”和“否”按钮。 YesNoCancel 消息框包含“是”、“否”和“取消”按钮 来源: https://www.cnblogs.com/Asa

无边框窗体的移动(winform/wpf)

时光毁灭记忆、已成空白 提交于 2020-03-01 22:37:48
WinForm  引入命名空间  using System.Runtime.InteropServices; 无边框移动 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam); public const int WM_SYSCOMMAND = 0x0112; public const int SC_MOVE = 0xF010; public const int HTCAPTION = 0x0002; private void Form_MouseDown(object sender, MouseEventArgs e) { ReleaseCapture(); SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0); } WPF private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { this

winform打包发布安装包详解

余生长醉 提交于 2020-03-01 17:08:18
使用VS 自带的打包工具,制作winform安装项目 开发环境:VS 2008 Access 操作系统:Windows XP 开发语言:C# 项目名称:**管理系统 步骤: 第一步:打开开发环境VS2008,新建项目,选择其他项目类型,再选择"安装项目",输入名称及选择安装路径; 第二步:进入文件系统选项卡,选择应用程序文件夹,在中间的空白区域右键选择"添加文件",添加项目文件(exe,dll); 第三步:添加项目所需文件;这里有两个文件夹需要注意(DataBase和Report),因为DataBase是存储项目数据库,而Report则是存储项目所需的报表文件.rpt,因此呢,在应用程序夹中也需要建同名的文件夹,并且添加所需的文件。效果: 第四步:为了在开始程序菜单中和桌面应用程序中看到安装程序,这里我们就需要为项目创建快捷方式。右键选择可执行文件(PersonFinance.exe),创建快捷方式,进行重命名"**公司**管理系统",将该快捷方式拖放到 用户的"程序"菜单 中。重复该步骤将新建的快捷方式添加到 "用户桌面" 文件夹中 最好在用户菜单中建立一个文件夹,存放安装程序 第五步:设置系统必备,右键选择安装项目,进入属性页中,单击"系统必备"按钮,进入系统必备对话框;勾选"创建用于安装系统必备组件的安装程序",在安装系统必备组件列表中,选择 1)、Windows

【Winform】 Enum逆向解析

ぃ、小莉子 提交于 2020-02-29 02:55:11
将字符串转换成Enum类型 Enum.Parse:将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。 名称 说明 Parse(Type, String) 将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。 Parse(Type, String, Boolean) 将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象。 一个参数指定该操作是否不区分大小写。 参数 enumType 类型: System .Type 枚举类型。 value 类型: System .String 包含要转换的值或名称的字符串。 返回值 类型: System .Object enumType 类型的对象,其值由 value 表示。 ChartImageFormat cif = (ChartImageFormat) Enum.Parse( typeof (ChartImageFormat), tsmi.ToolTipText, true ); 参考: MSDN 来源: oschina 链接: https://my.oschina.net/u/135461/blog/707688

解决.net绘制的 WinForm 在 windows7下变形的方法

谁说我不能喝 提交于 2020-02-27 03:11:20
问题描述: 一个winform的系统,我和同事通过vss共同开发,同事的系统是XP,我的系统是windows7,开发工具都是vs.net2008 sp1。 奇怪的是程序的主界面在同事的机器上正常,在他的vs.net设计视图中也显示正常,而到了我这里有的控件高度比设定的高度多出1-8个像素,f5运行也和实际效果不一样比实际效果大,查看 frmBase.designer.cs,里面控件的高度确实是原先设置的正确高度,但把vs.net切换到设计视图,这个控件高度就变大了,从“属性”窗口中看它的值也变大了。 以前也出现过这种问题,最后在我的机器(windows7)下重新调整各控件的高度,这才使软件在xp和windows7下运行的界面大小一致。但最近这个问题有出现了,不知道是怎么回事。 解决方法: 1、将主窗体的 AutoScaleMode 属性设置为 None,CTRL+S保存一下,在将其关闭。 2、打开主窗体的 xxx.designer.cs,找到 InitializeComponent 方法中的倒数第二行“ this.ResumeLayout(false);”,将其删除。 3、在打开主窗体,此时的控件大小就是designer.cs设置的大小。随便找个控件,用鼠标拖动其改变大小,然后在手工把大小设置为原来的大小。这样做的目的是让vs.net更新designer.cs并创建“this

(WinForm)FormBorderStyle属性

五迷三道 提交于 2020-02-27 03:09:29
此属性就是获取或设置窗体的边框样式, 默认值为 FormBorderStyle.Sizable 。 共7个值。 属性 意义 None 无边框 FixedSingle 固定的单行边框 Fixed3D 固定的三维样式边框 FixedDialog 固定的对话框样式的粗边框 Sizable 可调整大小的边框 FixedToolWindow 不可调整大小的工具窗口边框 SizableToolWindow 可调整大小的工具窗口边框 根据单词意思很好记的, none 就是无,没有; single 就是单一的,一个的; dialog 就是对话; sizable 就是可变的; tool 就是工具, fixed 就是固定的。 原文地址: https://www.cnblogs.com/xiesong/p/3319436.html 来源: https://www.cnblogs.com/xiesong/p/3319436.html

(六十六)c#Winform自定义控件-图标-HZHControls

笑着哭i 提交于 2020-02-24 17:32:49
官网 http://www.hzhcontrols.com 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 GitHub: https://github.com/kwwwvagaa/NetWinformControl 码云: https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492 麻烦博客下方点个【推荐】,谢谢 NuGet Install-Package HZH_Controls 目录 https://www.cnblogs.com/bfyx/p/11364884.html 用处及效果 获取一个image HZH_Controls.FontImages.GetImage(样式枚举, 大小, 前景色,背景色); 获取一个icon HZH_Controls.FontImages.GetIcon(样式枚举, 大小, 前景色,背景色); UCBtnImg设置图标,可以使用属性ImageFontIcons 准备工作 下载字体文件 http://www.fontawesome.com.cn/faicons/ https://www.elegantthemes.com/blog/resources

【winform 学习】C# 转换成JSON对象

泄露秘密 提交于 2020-02-23 15:42:01
C#里面对json的处理有2种,JavaScriptSerializer和DataContractJsonSerializer。 JavaScriptSerializer读出来就是key-value pair这种Dictionary<string, object>的东西,这个比较通用。 DataContractJsonSerializer类似于其他的Serializer,比如XMLSerializer一类的,是对象序列化/反序列化用的 第一种示例代码: (测试发现 using System.Web.Script.Serialization不能在Winform 中引用,所以 JavaScriptSerializer 不用在winform中使用 那winform 下怎么解析JSON 可以参考: http://q.cnblogs.com/q/46365/ 1. Json.NET 2. 引用官方的 System.Web.Extensions.dll dll文件:可以网上下载,或者参考下面地址的方面: http://wenku.it168.com/d_000825166.shtml ): string jsonStr = @"{""fruits"":{""a"":""orange"",""b"":""banana"",""c"":""apple""},""name"":{""z"":"