![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Winform
文章平均质量分 58
基于Winform窗体的文章
中洲少年
一个深爱神国传统文化的男人,对身为神族人而骄傲。毕生为汉服复兴而努力。v:13535543524
展开
-
C# 利用XejeN框架源码,编写一个在 Winform 界面上的语法高亮的编辑器,使用 Monaco 编辑器
类似 VS Code 的体验,可以考虑使用 Monaco Editor(VS Code 使用的编辑器)。当然,适用于Winform的这种语法高亮的编辑器,除了Monaco外,还有AvalonEdit、ScintillaNET等,都可以用于复杂需求的高亮显示。使用GetDataAsync方法,去调用html页面的js方法getEditorContent,便可以取到编辑器的内容。好的,下面我们开始介绍如何将 Monaco 编辑器引入到 Winform 中。五、在 Winform 窗体界面中,加载编辑器并执行。原创 2024-06-18 16:46:51 · 638 阅读 · 0 评论 -
提供一个c# winform的多语言框架源码,采用json格式作为语言包,使用简单易于管理加载且不卡UI,支持“语言分级”管理
提供一个c# winform的多语言框架源码,采用json格式作为语言包,不使用resx资源,当然本质一样的,你也可以改为resx。原创 2024-05-21 10:35:04 · 517 阅读 · 0 评论 -
C# winform 如何让TextBox文本内容垂直居中?
如题,C# winform 如何让TextBox文本内容垂直居中?初一看感觉这个问题很简单,但实际比较复杂。winform的TextBox控件本身是不提供这个属性的。本文提供一个可靠可用的重写控件给大家使用。相信本文能够给一些需要此控件的人带去很大的方便。本文主要提供以下主要功能:1.控件提供了VerticalAlign属性,他提供了垂直对方的三个方向:居上、居中、居下。2.单行文本。即不允许输入多行内容。屏蔽了通过复制粘贴,以及回车换行弄出多行文本的操作。下图的枚举提供了该原创 2022-04-22 17:00:46 · 13050 阅读 · 3 评论 -
C# 提供一个点击按钮时可变更状态并显示对应文字的按钮控件
本按钮控件很简单,提供简易的状态变更,并显示对应的文字。具体请看效果图:一、提供按钮触发时间间隔,默认300毫秒/// <summary>/// 状态切换时间间隔,单位毫秒。默认300/// </summary>[Browsable(true)][Category("Zhongzhou")][DefaultValue(300)][Description("状态切换时间间隔,单位毫秒。默认300")]public int Interval { ge.原创 2021-12-02 08:55:54 · 4554 阅读 · 0 评论 -
C# Winform可长按延时触发事件的按钮控件
背景:通过长按一个按钮,达到指定时间后,才执行该按钮的事件。按钮截图如下,其中长按过程中,按钮背景加了进度条,通过改变按钮颜色的形式可以看到长按的时间进度:一、定义开放属性总共提供了3个属性,具体如代码注释所示:/// <summary>/// 延迟多久才触发按钮事件,默认0,单位毫秒/// </summary>[Browsable(true)][Category("Kintai")][DefaultValue(0)][Description("表示原创 2021-11-12 13:54:51 · 4696 阅读 · 1 评论 -
C# 提供一个Winform可控的延迟触发按钮
效果描述:当点击一个按钮时,会自动延时您所以设定的时间,然后才执行该按钮事件,这个过程不会占用UI线程,不会卡死。直接给您传上代码,您可以自行测试一下效果:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.Drawing;using System.Linq;using原创 2021-11-12 08:36:41 · 2246 阅读 · 0 评论 -
C# 提供一个Winform小数字键盘模拟器
文章开始之前,先看一下效果图,看是不是您正所需要的:一、构建计算器的界面要构建出一个好看点的计算器界面,还是需要颇费些小心思的,我做这个的时候,也花了两三个小时的时间构建这个界面。其主要的使用控制是TableLayoutPanel控件。另外一个小难点则在于内容控件Textbox的显示,要让文字垂直居中,在没有重写Textbox控件的情况下要达到这个效果,也是花了些小心思。其它的界面则没有什么的。至于加减号嘛,则用输入法的特殊符号即可。二、构建控件的开放属性一共开放了3个属性,原创 2021-11-12 08:31:56 · 3494 阅读 · 0 评论 -
C# 窗体,未能加载工具箱项“xx”。将从工具箱中将其删除。
如上图,当您发生错误“未能加载工具箱项“PlaceHolderTextBox”。将从工具箱中将其删除。”时,要怎么解决。场景:这个问题的产生,是某个自定义的控件,无法拖入到你的窗体中,原因是您的项目属性设置成了x64。解决办法:只需要将项目生成属性中的目标平台改为x86或者AnyCpu即可解决。祝您用餐愉快。...原创 2020-12-25 10:54:29 · 4123 阅读 · 0 评论 -
C#如何监控鼠标选中的是哪个文件夹或者文件,得到它的完整路径
我们上一篇文章,讲述了,如果监控文件目录,以及文件,并且如何级联监控。通过上篇文章,我们可以监控到您创建、修改、删除、重命名等任何文件目录或者文件夹的动作。如果您没有看过那篇文章,这是它的快速跳转链接:目录和文件监控。文章开始之前,请先看下最终效果图:一、本文需求上篇文章讲述了如何监控创建、修改、删除文件目录以及文件的动作。但是如何监控你的鼠标选中了什么文件呢?比如上图,是一个资源管理器,我的鼠标选中了一个叫“Postman"的文件夹,但问题是,您怎么就知道我鼠标选中了它?并如何知道原创 2020-12-12 12:43:28 · 2287 阅读 · 6 评论 -
C#初学者教程系列19:Winform应用程序
本文是C#初学者简单教程,这是第19篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。本文环境为Visual Studio 2019。一、Winform应用程序Windows窗体应用程序是一种设计用于在计算机上运行的应用程序。它不会在Web浏览器上运行,另外Winform应用程序是运行在Windows上的。但随着.Net Core的出现,也已经具有了运行在其它操作系统上的能力了。二、Windows窗体基础Windows窗体应用程序是在台式计算机上运行的应用程序。Windows窗体.原创 2020-12-08 17:13:22 · 3477 阅读 · 2 评论 -
C#窗体Winform,如何实现实时的UI更新效果
文章开始之前,先看下实时更新界面,以便大家理解题目的意思:如上图,是一张Winform窗体界面的实时更新图,那么如何实现这种效果呢?一、解答这里其实是线程的运用。您不一定需要真正的懂得多线程的原理,但至少一些了解还是要的。线程主要分为UI线程和CPU线程两种。UI线程:就是主线程,负责显示界面的,与界面有关的数据响应都会通过UI线程传递到界面上。不单是Winform,所有的,比如Html界面、比如Chrome浏览器界面等,显示界面都离不开UI线程。CPU线程:是后台线..原创 2020-11-13 20:36:37 · 12489 阅读 · 1 评论 -
C#窗体Winform,使用实时图表:折线图、柱状图
如何在C#窗体中使用实时图表,这里需要用到Chart控件。先看下Demo效果图:一、创建Winform窗体,并找到Chart控件Chart控件,目前仅在.net framework下才有,.net core下暂时还没有。所以本文针对的环境是.net framework下的winform窗体。如上图,在工具箱中找到“数据”->“Chart”控件。请注意,在“所有Windows窗体”那里,是找不到Chart控件的。二、将Chart控件拖入到窗体中然后...原创 2020-11-10 10:09:05 · 16783 阅读 · 3 评论 -
C#Core下,窗体Winform和WPF如何配置数据库连接
本文针对.net core开发环境,如何在winform和wpf等应用程序下配置数据库连接。关于如何在Core下使用DB First方式生成EF数据库代码,点击跳转原文链接。生成了数据库代码后,默认生成的数据库字符串如下:生成的代码,还附带一行警告,提醒您需要将数据库连接字符串移出。本文主题:如何移出数据库连接字符串到配置文件中,环境针对窗体Winform和WPF。不含手机及网站。一、创建配置app.config配置文件新建项,创建一天体战士应用程序配置文件,放在窗体中。原创 2020-11-05 17:08:39 · 1221 阅读 · 0 评论 -
C#Core演示Winform窗体最小化后,显示到系统托盘上
本文主题:使用.net core的winform窗体应用程序,当窗体最小化后,应显示到系统托盘上,双击托盘图标后,能够重新打开窗体。下面是效果图。本文环境为VS2019、.Net Core。一、创建Winform窗体项目如下图,使用Windows Forms App(.Net Core)创建我们的应用程序。二、工具箱中找到并插入NotifyIcon控件双击该控件,即可直接进入到了窗体中。同时选中该控件,按F4打开属性窗体,设置它的Icon图标,如下图:...原创 2020-11-03 16:57:13 · 1186 阅读 · 0 评论 -
C#窗体,如何开启另一个进程,并打开指定的应用程序
我们有时候需要在当前应用程序中,启动另一个程序。比方说,我们正在使用某信、某Q等,需要启动一个检测环境的应用程序,这时候可能就要单独启动另一个程序了。这是如何实现的呢?System.Diagnostics.Process process = new System.Diagnostics.Process();process.StartInfo.FileName= @"cmd.exe";process.Start();使用Process类,声明它的对象,以及配置好StartInfo属性信息,原创 2020-10-26 16:46:07 · 5268 阅读 · 0 评论 -
C#窗体,如何处理全局异常,如何防止遗漏异常导致软件崩溃?
如题,我们经常会用到一些软件,用着用着,应该一些问题,导致软件就直接闪退了,遇到这种情况就很让人无语,用户体验就不太好。这本质上是异常错误而未被程序员处理,导致软件崩溃。那么如何处理全局异常,如何防止遗漏异常导致软件崩溃呢?这里一共分3种情况:1.应用程序域环境异常。这种只要注意捕捉,一般程序员也不会有什么太大的问题。2.主线程异常,也就是UI线程异常。这种一般程序员会主动处理,也处理得较好,但对于一些代码风格不佳的程序员来说,仍然会犯不少错误。3.线程内部异常。这种是相当隐晦的,一原创 2020-10-26 14:28:16 · 4104 阅读 · 1 评论 -
C#窗体,绘制窗体界面,有很多控件时,如何精准操作想要的控件
绘制窗体,常常会有很多控件在里面。如上图,就是一个很常见的窗体界面绘制,里面的控件数量根据实际业务需求的不同,控件数量的多少也不同,但都不会特别少。遇到这种较多控件的时候,要如何精确选择到自己想要的控件,并排版布局呢?依次在Visual Studio中打开视图->其它窗口->文档大纲,或者按快捷键Ctrl+W,U,即可打开文档大纲窗口,在这个窗口里面可以精准选择控件。本路径是VS2019的位置。通过文档大纲,可以准确选择到你想要布局的控件,并进行移动。话外,制作界面布..原创 2020-10-26 14:03:44 · 953 阅读 · 0 评论 -
C#窗体,如何制作漂亮的窗体UI界面,像微信电脑版一样
先看下效果图:你能想像到这个界面是Wiinform界面吗?它实际是html编写的。那么这种窗体的winform界面是如何制作出来的呢?本文介绍一种方法。一、安装Nuget包搜索NetDimension.NanUI安装0.6版本的,现在作者刚出来最新的0.7版本,与0.6相比,api变动较大,我以旧的0.6为例,作抛砖引玉,你可以搜索相关的文章,实现你的需求。二、编写你的窗体应用程序的入口方法如上图,需要注意的是RegisterAssemblyResources()方法的第原创 2020-10-23 22:14:34 · 14217 阅读 · 3 评论 -
C#窗体,如何限制只能启动一个exe程序,禁止多开客户端。
先看下未限制前的exe程序多开效果:然后再看下限制后的exe程序还能不能多开,结果当然是一直都一个,无法再多开了:那么这种限制只能启动一个exe程序是如何实现的呢?这里涉及到了进程间的同步问题,同一个应用程序启动后,不能再开启该程序的新进程。它用到了一个类:Mutex,定义如下:这个互斥类的作用是用于进程间对系统共享资源的独占访问操作系统特定对象时而设计的。Mutex instance = new Mutex(true, "MutexName", out bool.原创 2020-10-23 16:37:12 · 3709 阅读 · 1 评论 -
C#窗体Winform,如何自重启窗体程序,自己重新启动?
如何让winform窗体程序重启?我们先看下录频效果图:那么这种效果是如何实现的呢?1.使用进程启动的方式进程Process.Start(string),可以直接启动你指定路径的exe应用程序。然后当前进程要马上杀死,调用Kill()方法即可。2.使用应用程序重启的方式使用Application.Restart()可以重启当前应用程序。同样的,当前进程要记得马上杀死。3.温和的重启不论是使用哪种方式结束进程,都使用了Kill(),这种方式是暴力的,相当于强原创 2020-10-23 14:50:36 · 10039 阅读 · 0 评论 -
C#窗体Winform,如何嵌入图片添加图片,使用图片资源?
1.首先,打开工具箱,找到PictureBox控件2.打开PictureBox的属性面板,设置Image属性3.准备嵌入图片资源图片资源有两个地方,一个是全局的在Properties下的Resources.resx文件。另一个是在专属于某窗体使用的图片资源,位置在窗体下的resx文件中,如上图的第2个红圈就是。4.设置Image属性,打开弹窗本地资源,对应的是专属于某窗体使用的资源。项目资源文件,则是大家都可以使用的资源。5.Resources文件夹不原创 2020-10-22 17:30:58 · 42619 阅读 · 3 评论 -
C#中如何使用Sqlite、SqliCe等本地数据库?
文章开始之前,先看下运行效果和界面:点击查询项目,弹出Sqlite数据库中的项目表的项目数据。该表一共2条数据,如上图所示。本篇文章是可供生产过程中实际使用的项目代码,源码价值较高,文章最后会附上源码。本项目构建的数据库操作,支持完整的原子事务。先看下项目源码结构:一、前言本项目源码,集成了Sqlite和SqlCe两种本地数据库,同样的,如果您需要更多的本地数据库,仅需按接口实现即可。二、引入Nuget包Sqlite需要引入以下包:Sqlite.Co...原创 2020-10-22 15:58:39 · 1802 阅读 · 0 评论 -
C#窗体Winform,文本框TextBox如何实现类似html的PlaceHolder属性
文章开始之前,先看下效果图:那么这个是如何实现的,Winform自带的TextBox是不具备这种PlaceHolder提示功能的,要实现它,我们就需要重写TextBox控件。具体代码如下:using System;using System.Collections.Generic;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Wi原创 2020-10-21 15:25:11 · 3857 阅读 · 1 评论 -
C#窗体Winform,如何将GroupBox的文字居中?标题居中。
文章开始之前,先看下图,红圈的GroupBox文字是如何居中的呢?我们都知道,自带的Winform中的GroupBox组件的标题,是不具备居中功能的。要实现这个功能,只能自己复写BroupBox控件。下面直接贴出代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Linq;u原创 2020-10-21 15:14:59 · 5348 阅读 · 1 评论 -
C#窗体Winform,鼠标悬停在控件上,提示框,显示信息。
文章开始之前,先看下一个简短的录频效果。实现原理:他是鼠标悬停在控件上方后,弹出另一个窗体,该窗体可以展示不同的自定义组件,达到显示不同的各种需求的目的。一、先制作容器窗体using System;using System.Drawing;using System.Windows.Forms;namespace TipsWindow{ public class ExplainForm : FormBase { public Explain.原创 2020-10-21 14:28:40 · 10357 阅读 · 1 评论 -
C#窗体Winform,如何使用单选按钮组
Winform中,没有直接的单选按钮组控件。都是单个的RadioButton,那么如何分组呢?放在同一个Winform中的RadioButton,自动属于同一个组。勾选了A,那么B就会取消勾选。那么如果Winform中我想旋转多个分组的RadioButton,并让他们互不影响怎么办?只需要每组的RadioButton放在各自的Panel中即可。单选按钮组的效果如上图,切换到自由定义,由45度角自动取消勾选。...原创 2020-10-20 10:20:17 · 5583 阅读 · 0 评论