摘要: 一、前言 使用WinForm很久了,多多少少会遇到一些小BUG。 这些小BUG影响并不严重,而且稍微设置一下就能正常使用,而且微软一直也没有修复这些小BUG。 写本系列文章,是为了记录一下这些无伤大雅的小小BUG。 本篇文章只是记录BUG现象,及解决办法,并不会分析BUG产生的原理。 相信看完的你, 阅读全文
posted @ 2021-12-29 09:58 leslie_xin 阅读(1211) 评论(3) 推荐(2)
摘要: 一、前言 使用WinForm很久了,多多少少遇到一些小BUG。 这些小BUG影响并不严重,而且只要稍微设置一下就能正常使用,所以微软也一直没有修复这些小BUG。 本来并不足以写篇文章去记录,但是昨天遇到了一个新的小BUG,让我提起了兴趣去记录。 本篇文章只是记录BUG现象,及解决办法,并不会分析BU 阅读全文
posted @ 2021-11-09 11:35 leslie_xin 阅读(1568) 评论(1) 推荐(7)
摘要: 一,前言 现实业务当中,有一个很常见的流程:从数据库获取数据到DataTable,然后将DataTable绑定到实体类集合上,一般是List<Class>,代码写起来也简单:遍历+赋值就可以了。 但是,代码逻辑虽然简单,代码量不小,而且代码往往很臃肿。本篇文章就来一步步对这种业务代码进行优化。 本文 阅读全文
posted @ 2021-09-24 18:03 leslie_xin 阅读(1142) 评论(5) 推荐(3)
摘要: 一、前言 进程间通信技术的应用非常广泛,在Windows下常用的实现方式有:管道、Socket、消息、本地文件、共享内存等,每种方式都有各自适应的场景。 在进行大数据交换时,最优的方式便是共享内存。 但是共享内存在应用时往往需要配合其他的进程间通信方式,比如管道、消息等,用以通知共享内存中的数据发生 阅读全文
posted @ 2021-08-06 09:49 leslie_xin 阅读(6157) 评论(21) 推荐(31)
摘要: 一、前言 光说不练假把式。 原理说再多,也不如一个例子直观明了。所以本篇文章就来通过一个例子演示一下高DPI适配的流程。 相信看完的你,一定会有所收获! 本文地址:https://www.cnblogs.com/lesliexin/p/14801749.html 二、对比 我们先来看一组对比,分别是 阅读全文
posted @ 2021-05-25 08:28 leslie_xin 阅读(2455) 评论(4) 推荐(8)
摘要: 一、前言 程序最基本的元素,就是文本,也就是字体。如果程序未进行高DPI的适配,最直观的感受便是字体的模糊。所以本篇便来说一下高DPI适配中的字体问题。 高DPI的适配,简单来说便是便是根据不同的DPI对尺寸和位置进行调整,那么就需要一个锚点,所有的尺寸和位置的变化都以此锚点为基准进行调整。 相信看 阅读全文
posted @ 2021-05-24 08:26 leslie_xin 阅读(2664) 评论(1) 推荐(2)
摘要: 一、前言 很多时候,使用矢量图形可以带来非常美观的界面效果,比如SVG的使用。但是Winform原生是不支持显示SVG图像的,所以退而求其次,可以使用IconFont来实现相似的矢量效果。 先来个图解解馋: 知识点:资源文件中字体的使用方法、IconFont使用方法、IconFont应用场景示例、I 阅读全文
posted @ 2021-04-13 09:28 leslie_xin 阅读(5332) 评论(2) 推荐(9)
摘要: 一、前言 一个软件,往往会用到位图资源,比如图标、图片、水晶按钮等。 在使用了位图资源后,就不能对任意DPI都进行适配,因为这样适配的代价太大了。 像Win10的缩放比例可以由100%-500%,如果全部适配的话,仅一个图标就是制作401个不同分辨率的版本,时间成本和空间成本上开销都太大了。同时,在 阅读全文
posted @ 2021-04-09 11:34 leslie_xin 阅读(2679) 评论(1) 推荐(2)
摘要: 一、前言 当下,2K分辨率已成为主流标配,3K、4K也已经广泛应用。 在屏幕尺寸不变的情况下,高分辨率也就意味着高DPI,对于桌面程序而言,除了先天就支持高DPI的框架外(如UWP、Electron等),大部分桌面程序如果不进行高DPI的适配,往往会出现界面模糊、控件错位、文本显示不全等问题。 目前 阅读全文
posted @ 2021-04-06 13:55 leslie_xin 阅读(20506) 评论(11) 推荐(11)
摘要: 一、前言 技术没有先进与落后,只有合适与不合适。 本篇的自定义控件是:遮罩层(MaskLayer)。 遮罩层对软件的美观与易用性上的提高是很大的,在日常使用过程中也会经常看到各种遮罩层,虽然WinForm本身没有原生的遮罩层控件,但实现起来并不麻烦。 遮罩层的实现方式一般有两种:一种是基于自定义控件 阅读全文
posted @ 2021-02-24 14:27 leslie_xin 阅读(3209) 评论(6) 推荐(12)