winform专题

C# 无法删除 Winform的PictureBox正在展示的图片

最近用C#的前端项目,写了PictureBox展示并上传图片。想删除掉已经展示和上传的图片,提示资源正在使用中不能删除。 查了一些原因,总结原因是PictureBox控件占用着图片资源,不允许删除。 从PictureBox展示图片入手,可以采用以下两个解决办法: 1:使用Bitmap类转接图片资源 Image bmp = new Bitmap(img); this.twoPictureBo

Winform中在窗体中的Paint事件中重绘会导致递归问题?

在 WinForms 应用程序中,如果在窗体的 Paint 事件处理程序中不断调用 Invalidate 方法,确实可能会导致递归调用的问题。这是因为每次调用 Invalidate 方法时,都会向消息队列添加一个绘制消息,当消息队列中的绘制消息被处理时,会触发 Paint 事件。如果 Paint 事件处理程序中又调用了 Invalidate,就会形成一个循环,导致递归调用 Paint 事件,这

030集——自动弹出对话框、选择文件并播放wav音频文件(winform窗体)——C#学习笔记

如图所示,效果如下: 步骤如下: 新建一个winform窗体,双击界面,进入代码区: 复制(下面代码中命名空间内的代码)到(你的命名空间下),运行。 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Draw

Winform -- ​c#:SynchronizationContext

SynchronizationContext(同步上下文)综述 - 大师兄石头 - 博客园 (cnblogs.com) 同步上下文(SynchronizationContext) 和 C#中跨线程更新UI的方法总结_c# synchronizationcontext-CSDN博客

通过winform实现电脑音量控制

先上图 效果图: 代码框架图: 代码实现大致分为两部分: 1.core audio API实现系统音量的大小控制与静音,由于是封装好的函数,操作起来十分简单。 2.全局钩子。因为要实现监听按键,仅适用线程钩子监听某一个线程是不够的。该部分有难度。 写了四个类:基类hook,子类PublicHook(全局钩子)和PrivateHook(私有钩子),以及调取委托的Keyboa

c#笔记5 详解事件的内置类型EventHandler、windows事件在winform中的运用

为什么要研究这一问题? 事件和委托可以说是息息相关。 前面先解释了什么是委托,怎么定义一个委托以及怎么使用匿名方法来内联地新建委托。 事实上事件这一机制在c#的程序开发中展很重要的地位,尤其是接触了winform软件开发的同学们应该都知道界面上的各种操作和事件比如点击事件,文本改变事件等等,都是我们建立用户界面,乃至于实现具体功能的重要手段。于是我们有必要研究这一机制在c#中的默认类型。 E

.NET 多版本兼容的精美 WinForm UI控件库

目录 前言 项目介绍 项目使用 项目源码 项目案例 项目组件 项目地址 前言 有粉丝小伙伴在后台留言咨询有没有WinForm 控件库推荐,现在就给安排上。 .NET 平台进行 Windows 应用程序开发的我们来说,找一个既美观又实用的 WinForm UI 控件库至关重要。 本文将介绍 ReaLTaiizor 一款不仅具备精美界面、丰富控件选择,还支持从 .NET

Winform 中Chat控件绘图区闪烁问题

Winform 中使用Chat控件绘制实时曲线时,绘图区闪烁问题解决办法 使用Chat控件,根据接收到的串口数据实时绘制数据曲线,但是在绘制曲线时,绘图区闪烁严重,网上找了很多方法,都不起作用,双缓存也不起作用,最后使用 protected override void WndProc(ref Message m){if (m.Msg == 0x0014) // 禁掉清除背景消息return;

WinForm小技巧之向下复制行和编辑行

WinForm小技巧之向下复制行 文章目录 WinForm小技巧之向下复制行场景代码编辑场景代码 场景 当我点击向下增加行按钮,会在表格中添加一行一摸一样的 代码 按钮点击事件 /// <summary>/// 向下新增/// </summary>/// <param name="sender"></param>/// <param name="e"></para

winform中多线程与定时器冲突

我在一个winform项目中同时使用了定时器与多线程。 程序不稳定,有时会弹出异常System.InvalidOperationException。 问题签名: 问题事件名称: CLR20r3 问题签名 01: bscanPlusV3_prepare.exe 问题签名 02: 1.0.0.0 问题签名 03: 59954209 问题签名 04: System.Drawing

QT5.14.2编译有界面的DLL供C#Winform程序调用步骤

目标:公司要设计一套软键盘程序给到WinForm程序调用、因此需要封装QT的软键盘程序给到C#调用,跟C#调用MFC的DLL代码差不多,感觉就是封装了一下QT的代码成为MFC格式的。 步骤:1、新建QT对应的库项目、编译器使用MSVC2017 64位、编译后生成对应的DLL文件。 步骤2:在VS2022中新建Winform项目,拷贝QT生成的DLL文件到运行目录下,界面代码文件中新增Q

怎么把用户控件添加到winform

1.比如,如下图所示,在winform项目中有一个winform和一个新建用户控件。直接拖动用户控件往winform中放置的时候,会发现鼠标一直是一个禁止的图标,这时时拖动不上去的。 打开工具箱,拖动用户控件到工具箱里,在到达工具箱的时候鼠标变成加号,但还是无法把用户控件放置到工具箱中。 其实,在winform中添加用户控件前

记录|C# winform——Chart控件

目录 前言一、重点关注1.1 Chart控件效果1.2 属性1.2.0 位置讲解1.2.1 Titles——标题集合TextToolTip 1.2 .2 Series——图表序列ChartTypeLegends——图例集合 二、数据传入Chart控件2.1 如何传入数据?2.2 如果想限定每次展现的数据量怎么办? 三、标注每个点的值3.1 如何在图表中标出每个点的值?可视化理解代码编写效

[Winform] Chat控件闪烁

使用Chat控件,根据接收到的串口数据实时绘制数据曲线,但是在绘制曲线时,绘图区闪烁严重,网上找了很多方法,都不起作用,双缓存也不起作用,最后使用 protected override void WndProc(ref Message m){if (m.Msg == 0x0014) // 禁掉清除背景消息return;base.WndProc(ref m);} 成功。 使用该方法时也

c# winform打包单个exe文件

写了个c#程序,调试功能都没问题了,需要发布给用户了,发现难道我要发一堆文件吗? 每次更新都要发一堆? 或者我按照发布的流程,发布为安装程序,每次用户都要卸载重新安装? 去了吧,我只需要一个exe, 于是找到了如下方法:通过NuGet 安装ILmerge和MSBuild.ILMerge.Task 安装      安装好后,重新生成即可再exe里包括了各个dll,只需要一个exe

C# 唯一性进程的方法封装(Winform/WPF通用)

C#唯一进程封装 C# 唯一性进程的方法封装 public class UniqueProcess{/// <summary>/// 焦点切换指定的窗口,并将其带到前台/// </summary>/// <param name="hWnd"></param>/// <param name="fAltTab"></param>[DllImport("user32.dll")]public st

C# Winform中制作精美控件(2)

仓库温度监控系统重有个控件,就是温度监控,还是比较精美的,那么我们来看看制作的要点有哪些。 前面我们讨论过布局和圆角按钮。这节主要关注温度计控件 1. 布局: 两个Panel将界面分位上下两个部分,Dock.Top  Dock.Fill分别设置给他们。 2.  温度按钮采用的有自定义的圆角按钮 3. 温度计控件 从设置部分,我们可以看到最重要的几个属性是: Value=10 Ma

DevExpress Winform使用单例运行程序方法和非DevExpress使用Mutex实现程序单实例运行且运行则激活窗体的方法

网上关于C#单例运行程序的方法都是比较简单,有些甚至是无法实现功能的,不知道他们试没试过就发帖,因为自己之前都是用第三方控件DevExpress,单例运行也是用它本身自带的一个方法,调用此方法需要引用DevExpress的DevExpress.DevAV.v17.1.Data.dll static void Main(){var appName= Process.GetCurrentProce

C#修改 EXE 文件图标和 winForm 窗口图标

修改 EXE 文件图标 1.准备好图片,转换为 Icon 图片; 2.右键工程,选择属性; 3.选择 Icon 图标即可; 4.重新生成可执行文件,查看。 修改 winForm 窗口图标 1.选中 winForm ,查看属性; 2.选择 Icon 图标; 3.运行程序查看效果。

C# Winform 开源UI库

WinForms,作为微软.NET框架下的一个桌面应用程序开发工具,自1999年首次亮相以来,已经走过了二十多年的发展历程。它以其简单直观的拖拽式界面设计和丰富的控件库,成为了大众喜爱的入门学习编程工具。由于它是比较基础的开发工具,在UI上并没有做太多优化,所以设置出来的界面相对比较简单。不过通过第三方的UI库,瞬间可以让Winform界面变得丰富多彩,焕然一新。 Winform

c# winForm 将窗体状态栏StatusStrip 分成左中右三部分

http://www.cnblogs.com/freeliver54/archive/2008/11/03/1325252.html 实现效果: 通过StatusStrip显示窗体状态栏 同时将状态栏分成三部分 居左边显示相关文字信息 中间空白显示 居右边显示时间信息 1.创建窗体及添加StatusStrip   默认StatusStrip名称为statusStrip1 2.

WinForm的ListView详解

一、ListView类           1、常用的基本属性:         (1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。         (2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。         (3)AllowColumn

C# WinForm —— 36 布局控件 GroupBox 和 Panel

1. 简介 两个可以盛放其他控件的容器,可以用于把不同的控件分组,一般不会注册事件 GroupBox:为其他控件提供可识别的分组。可通过Text属性设置标题;有边框;没有滚动条,一般用于按功能分组 Panel:将其他控件集中显示到一个面板中,集中管理。没有标题;默认情况下,在编辑状态下可以看到虚线边框,在运行状态下看不到边框,但是可以设置边框;当AutoScroll属性为true时,有滚动条,

C# OCCT Winform 选中模型改变状态

选中状态设置 _context = new AIS_InteractiveContext(_viewer);var selectionDrawer = new Prs3d_Drawer();selectionDrawer.SetColor(Colors.Selection);selectionDrawer.SetDisplayMode(1);selectionDrawer.SetTra

C# OCCT Winform 界面搭建

目录 1.创建一个WInform项目 2.代码总览 代码解析 3.添加模型到场景 4.鼠标交互 1.创建一个WInform项目 2.代码总览 using Macad.Occt.Helper;using Macad.Occt;using System;using System.Collections.Generic;using System.Linq;usi

windows7系统vs2008 嵌套winform程序到wince 5.0手持终端解决方案

环境: 系统:Windows7 64bit 软件:VS2008 硬件:wince 5.0系统的手持终端 背景:嵌套winform程序到手持终端 实现方法: 1、环境搭建具体就不讲了,我也是看下面的文档 :    http://download.csdn.net/detail/dxinshaofei521/7499565 2、新建wince 5.0项目报错解决方案:    ht