【c# winForm父子窗口 通过委托进行信息传递】教程文章相关的互联网学习教程文章

C# Winform 多线程更新界面UI控件,解决界面卡顿问题(转)【图】

前言 多线程刷新界面主要用到多线程,委托,线程安全、事件等一系列高难度的C#操作。 1、使用timer控件对要刷新的控件进行定时刷新 对刷新频率要求不高的时候,可以使用该方法。 2、刷新UI控件 在开发软件时经常会需要更新界面上的某个控件来显示相关的信息,为了让程序执行中不出现界面卡死的现像,最好的方法就是“多线程+委托”来解决。 控件:pictureBox1public delegate void DeleMyDelegate();//定义...

c# winform程序打包为EXE文件

网上主要提供了两种打包方式: 1. 通过Installer Projects https://www.cnblogs.com/Leo_wl/p/11144773.html https://blog.csdn.net/cwt19902010/article/details/71515683 https://blog.csdn.net/baidu_19356259/article/details/80866871 2. 通过InstallShield2013LimitedEdition https://jingyan.baidu.com/article/7f41ecec14ca2f593c095c56.html https://www.cnblogs.com/cxdanger/p/8794806.html https://blog.csdn.net/u010...

C# 利用SendMessage实现winform与wpf之间的消息传递

WPF 接收初始化 /// <summary>/// 初始化窗体句柄消息接收函数/// </summary>private void InitailWinHand(){HwndSource hWndSource;WindowInteropHelper wih = new WindowInteropHelper(this);hWndSource = HwndSource.FromHwnd(wih.Handle);//添加处理程序 hWndSource.AddHook(new HwndSourceHook(MainWindowProc));} private IntPtr MainWindowProc(IntPtr hwnd, int msg, IntPtr lParam, IntPtr wParam, ref bool h...

C# winform Panel自定义移动窗口

------------恢复内容开始------------     #region 移动窗口[DllImport("user32.DLL", EntryPoint = "ReleaseCapture")]private extern static void ReleaseCapture();[DllImport("user32.DLL", EntryPoint = "SendMessage")]private extern static void SendMessage(System.IntPtr hWnd, int wMsg, int wParam, int lParam);     //Panel控件,鼠标点击时移动窗口位置private void PanelTitle_MouseDown(object sender, ...

C#WinForm程序异常退出的捕获、继续执行与自动重启【代码】【图】

本文参考网上搜索的信息,并做了适当修改可以让捕捉到异常之后阻止程序退出。 另给出了通过命令行自动重启的方法。 如果一个线程里运行下面的代码 int a = 0;int c = 10 / a;将会导致程序自动结束,而且没有任何提示信息 但是如果是在主线程里运行这个代码,是会弹出异常信息对话框的 请问如何在线程里也出现这个异常信息对话框.或者避免程序直接退出,忽略异常,继续往下执行呢? ? 在WINFORM主线程捕获全部异常就行,如下...

c#winform中请求参数 new 实体的简洁写法【代码】【图】

有时候请求的时候需要转json 用到实体类,比如{name=xxx,password=xxxx} 按照以前我就定义一个 user类 定义两个字段属性,name password .然后new user 给两个赋值的方式 后来用的地方越来越多之后感觉太麻烦,就自己尝试用new object 的方式,var result=new object(); if (_data.Count()==0) { result = new { code = 0, count = 0 }; 再后来发现new object方式是多此一举 直接n...

C# winForm程序开机启动和托盘显示

这段时间一直在学习C#,看了书然后又在网上看了N多大神些的blog,然后自己学着做了一个像QQ托盘图标那样的小功能的Demo: (1)、在窗口上点击关闭按钮或者最小化时将托盘显示; (2)、双击托盘图标显示窗口; (3)、右键点击托盘图标提供三个菜单选项,“退出”、“隐藏”、“显示”; (4)、程序可以设置开机启动,隐藏任务栏显示。就这四个小功能。 1、建一个WinForm程序—TestIconForm,将其属性Sh...

C# Winform 使用Quartz【代码】【图】

1.添加引用,我这里哟那的是3.0.7版本: 2.直接上代码:private static readonly string tiggerName = "TestJobTrigger";private static readonly string gropName = "TestJobTriggerGrop";private static readonly string jobName = "TestJob";private static readonly string tiggerName1 = "MicrovuJobTrigger";private static readonly string gropName1 = "MicrovuJobTriggerGrop";private static readonly string jobName1 ...

C# WinForm开发系列之chart控件画折线图和柱形图并自定义鼠标移动到数据标记点显示提示信息【图】

原文出自http://blog.csdn.net/dannyiscoder/article/details/707682301.首先拖动chart控件到窗体,设置chart1的属性Legends中默认的Legend1的Enable为false;2.设置Series的ChartType为Line3.后台绑定数据 List<string> xData = new List<string>() { "A", "B", "C", "D" }; List<int> yData = new List<int>() { 10, 20, 30, 40 }; chart1.Series[0]["PieLabelStyle"] = "Outside";//将文字移到外侧 chart1.Series[0]["PieLin...

C# winform 使用rdlc打印小票解决方法

前言 最近做一个项目就是winform程序去控制设备,通过modbus-rtu协议去通讯。做的过程中上位机还牵扯到与其他系统对接的问题,当对接好其他系统数据后将数据打印出一个小票,上位机端用serialport来发送和接收下位机指令,下位机接收到上位机的发送的指令设备就做某个动作,设备动作完成将状态发送给上位机,然后在winform界面呈现设备的状态,整体的工作原理大概就是这样子,具体业务就不方便写入到博客中,打印的需求是随着打印的...

C# Winform 应用程序中 TreeView 控件失去焦点后,仍然高亮显示选中的节点【代码】【图】

在C# 的Winform应用程序中,经常会用到树(TreeView)的操作。但此控件有个小缺点,就是失去焦点后,刚才选择的节点不能像刚选择时那样高亮,让用户看不清到底选择的是哪个节点。虽然网上有好多的关于这个的解决方案和代码,但都不太完美。经过作者的多次调试,终于得到完美的代码。 代码如下: private void Init() {// 失去焦点仍选择节点this.treeView1.HideSelection = false;// 设置节点的绘制方式(必须选择TreeViewDrawMode...

c# winForm父子窗口 通过委托进行信息传递【代码】

转载于https://zhidao.baidu.com/question/360469626552901972.html paperkey的回答public class Form1 { private void button_Click(object sender, EventArgs e) { Form2 f = new Form2(); f.GetValue+= new EventHandler(SendValue); f.ShowDialog(); } //操作form2传来的值 private void SendValue(object sender, EventArgs e) { string form2Str = sender as string; //form2Str就是传过来的值 } } public class Form2 { pub...

C# Winform界面不能适配高DPI的解决方法

1. 将 Form 的 AutoScaleMode 属性设置为 DPI; 2. 在Program.cs中修改代码class Program {[STAThread]static void Main(){if (Environment.OSVersion.Version.Major >= 6)SetProcessDPIAware();Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());}[System.Runtime.InteropServices.DllImport("user32.dll")]private static extern bool SetProcessDPIAware()...

(八十八)c#Winform自定义控件-转子【代码】【图】

官网 http://www.hzhcontrols.com/ 前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章。 GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:https://gitee.com/kwwwvagaa/net_winform_custom_control.git 如果觉得写的还行,请点个 star 支持一下吧 欢迎前来交流探讨: 企鹅群568015492 来都来了,点个【推荐】再走吧,谢谢 NuGetInstall-Package HZH_Controls目录 http://www.hzhcontro...

C# winform格式化Json

//格式化Json private string ConvertStringToJson(string str){ //格式化json字符串 JsonSerializer serializer = new JsonSerializer(); TextReader tr = new StringReader(str); JsonTextReader jtr = new JsonTextReader(tr); object obj = serializer.Deserialize(jtr); if (obj != null) { StringWriter textWriter = ...

窗口 - 相关标签