winform集成第三方应用引起灾难性崩溃处理

博主头像 犹记得当年的喜悦。故事有些长,就长话短说了。 背景 2017年,由个人主导的《xx门诊电子病历系统》在北京xxx第一次正式上线,这个系统集成了n家院内系统,如LIS、HIS、PACS等。涉及的交互,复杂无比。当时通过各个厂商讨论后,采用了进程间通信、api/webservice数据交互的方式,改造程 ...

c# GDI+ 绘制医疗图表

从事医疗行业软件设计与研发工作已经有十多年了,从VB到C#,一直围绕医疗软件的研发工作努力着,学习中工作,工作中学习。仔细回想这十多年所做的事情和个人成长经历,既没有做出行业内出众的产品,也没有成为一个技术过硬的程序猿,可以拿“平平无奇”来形容。开发的技能基本上都是从网上学来的,博客园、CSDN、G ...

winform键盘全局与线程Hook

博主头像 定义数据结构 /// <summary> /// 声明键盘钩子的封送结构类型 /// </summary> [StructLayout(LayoutKind.Sequential)] public class KeyboardHookStruct { public int vkCode;//表示一个 ...

C# 自定义时间进度条

博主头像 这篇文章对我帮助极大,我模仿着写了两遍大概摸清楚了自定义控件的流程。https://www.cnblogs.com/lesliexin/p/13265707.html 感谢大佬 leslie_xin 样式 最开始 进度条有更改 根据开始时间和结束时间 时间刻度间隔有更改 设置项 正文 首先,我模仿过 ...

给Winform中的TabControl添加更现代的拖拽功能

博主头像 上周接到一个开发任务,大致是允许APP中的Tab拖动以成为一个独立Tab,脱离之前的TabControl,就是现在Web拖动标签页创建新窗口的功能,现在浏览器必备的功能,应该很简单,然而我司采用的Dotnetbar框架中的TabControl关于拖拽操作并没有提供多少改造的余地,我顿时想起了当年高中 ...

C/S软件打包部署神器InnoSetup

博主头像 概述 我们都知道做客户端软件,一般交付给客户的都是exe的安装包。那么我们平常开发完成之后,如何把程序进行打包呢。找了下发现Inno Setup是个不错的选择。 InnoSetup 是一个免费的 Windows 安装程序制作软件。第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳 ...

如何快速开发Winform应用系统

博主头像 在实际的业务中,往往还有很多需要使用Winform来开发应用系统的,如一些HIS、MIS、MES等系统,由于Winform开发出来的系统界面友好,响应快速,开发效率高等各方面原因,还有一些原因是独立的WInform应用系统方便部署使用,可以快速的在内部系统中安装使用,小型的系统往往不需要涉及到云服务... ...

C#如何防止程序多次运行的技巧(精典)

一、引言最近发现很多人在论坛中问到如何防止程序被多次运行的问题的,所以这里就记录下来,希望给遇到同样问题的朋友有所参考的,同时也是对自己的一个积累。在介绍具体实现代码之前,我们必须明确解决这个问题的思路是什么的?下面只要分享我的一个思考的这个问题的方式: 1、当我们点击一个exe文件时,此时该exe ...

浅谈Winform控件开发(一):使用GDI+美化基础窗口

博主头像 写在前面: 本系列随笔将作为我对于winform控件开发的心得总结,方便对一些读者在GDI+、winform等技术方面进行一个入门级的讲解,抛砖引玉。 别问为什么不用WPF,为什么不用QT。问就是懒,不想学。 本项目所有代码均开源在https://github.com/muxiang/PowerCo ...

winform 调用摄像头扫码识别二维码

因为公司业务需求,需要在Windows系统下调用摄像头识别二维码需求,就有了这个功能。 我根据网上网友提供的一些资料,自己整合应用到项目中,效果还不错(就是感觉像素不是太好) 现在将调用摄像头+识别二维码这两个功能单独出来写到这里,供大家讨论和参考。 有什么不足或者问题大家可以提出来,共同改进共同进 ...

winform 窗体中顶部标题居中显示

在网上看了很多例子,都不能居中,都有或多或少的问题 自己根据网友的代码改编入下: 先确随便写一个标题的内容: string titleMsg =“Winfrom Title” 获取对Graphics对象的引用: Graphics g = this.CreateGraphics(); 根据Graphi ...

winform 添加背景图 闪屏问题解决

winform中只要添加了背景图片资源,窗体加载显示的时候就会出现不停的闪屏操作,网上找了很多方法,效果都不明显; 然后自己观察和思路:看窗体的加载过程,当有背景图的时候,首先出来的是背景图,之后背景图上层的控件比如Panel、Button等就会闪烁,如果删除了背景图,就页面加载速度也快了,也咩有闪 ...

C#-WinForm跨线程修改UI界面

博主头像 背景 在我做WinForm开发的过程中,经常会遇到耗时操作或阻塞操作。他们会引发软件的卡顿甚至假死,严重影响软件的使用。因此,这类耗时或阻塞的操作一般都会使用异步的方式去执行,不影响主线程(UI线程)与用户间的交互。但多个线程竞争读写同一个资源往往会造成意想不到的意外结果,UI界面也是一种资源,所以 ...

[C#] (原创)进度等待窗口(附:自定义控件的使用)

博主头像 一、前言 技术没有先进与落后,只有合适与不合适。 在程序当中,经常有耗时较长的操作,为了给用户更好的体验,就需要给用户一个及时的反馈,这种时候就需要用到进度等待窗口。 实现进度等待窗口的技术有很多,比如:BackgroundWorker、Thread等。 不过技术不是难点,难点在于怎么使等待窗口美观 ...

C#获取windows系统的图标

这个获取关联图标,可以获取磁盘分区的图标,可以获取某个特定类型的文件的图标,也可以获取某个指定文件的图标/// <summary> /// 保存文件信息的结构体 /// </summary> /// [StructLayout(LayoutKind.Sequential, CharSet = Cha ...

[C#] (原创)一步一步教你自定义控件——05,Label(原生控件)

博主头像 一、前言 技术没有先进与落后,只有合适与不合适。 自定义控件可以分为三类: 一类是“无中生有”。就如之前文章中的的那些控件,都是继承基类Control,来实现特定的功能效果; 一类是“有则改之”。是对原生控件的改造,以达到特定的功能效果; 一类是“用户控件”。是将多个控件进行组合,以实现比较复杂的功 ...

C# Winform无边框移动窗体

博主头像 鼠标点击某个控件时的移动 #region 鼠标拖动 [DllImport("user32.dll")] public static extern bool ReleaseCapture(); [DllImport("user32.dll")] public static extern bool Se ...

123···5>