.NET9里WinForm更新了什么

news/2025/3/4 3:36:27/文章来源:https://www.cnblogs.com/axzxs2001/p/18746149

  下面是几个在.NET9中WinForm的新功能!

  • 主题

  Windows Forms 已初步支持暗模式,目标是在 .NET 10 中实现完整支持。应用程序的颜色模式可以设置为以下几种值:

  • SystemColorMode.Classic—(默认)浅色模式,与之前版本的 Windows Forms 相同。
  • SystemColorMode.System—遵循 Windows 设置的浅色或深色模式。
  • SystemColorMode.Dark—使用深色模式。
<NoWarn>$(NoWarn);WFO5001</NoWarn>
Application.SetColorMode(SystemColorMode.Dark);

 

按钮的效果不佳

  • ToolStrip属性AllowClickThrough

ToolStrip控件的AllowClickThrough属性,默认值是False。现在有一个ToolStripButton,并且有单击事件,如果当前窗体不是焦点,且可视,这时点击这个ToolStripButton时,窗体首先被选中,成为焦点,然后再次点击ToolStripButton时,它的事才会起作用。如果把AllowClickThrough设置成True,当前窗体不是焦点,且可视,当点击ToolStripButton时,它的事会直接执行,并且窗体会成为焦点窗体。

  • System.Drawing.Imaging.Effects 

System.Drawing 库现在支持 GDI+ 位图效果,如模糊和色调效果。虽然这些效果早已是 GDI+ 的一部分,但直到现在才通过 System.Drawing 对外开放。

可以通过调用 Bitmap.ApplyEffect(Effect, Rectangle) 方法将效果应用于位图。提供所需的效果以及一个可选的 Rectangle 参数以指定应用效果的区域。使用 Rectangle.Empty 来处理整个图像。

System.Drawing.Imaging.Effects 命名空间包含以下可应用的效果:

名称 含义
BlackSaturationCurveEffect 调整黑色饱和度,影响图像中深黑色的浓度与纯度。
BlurEffect 模糊效果,降低图像清晰度,常用于平滑细节或减少噪点。
BrightnessContrastEffect 调整图像的亮度与对比度,使图像更亮或更暗、更强烈或柔和。
ColorBalanceEffect 调整图像的色彩平衡,改变图像中红、绿、蓝色的比例。
ColorCurveEffect 通过曲线调整不同颜色通道,增加图像的颜色精细度和层次感。
ColorLookupTableEffect 应用色彩查找表(LUT)来转换图像颜色,实现特定的色彩风格或效果。
ColorMatrixEffect 使用颜色矩阵改变图像色彩,可用于创建特定的色调和滤色效果。
ContrastCurveEffect 调整图像的对比度曲线,控制图像不同区域的亮暗程度。
CurveChannel

单独调整颜色通道(红、绿、蓝)的曲线,用于细致控制各个颜色的表现。

DensityCurveEffect 控制图像的密度曲线,用于增减图像特定亮度区域的厚重感。
ExposureCurveEffect 调整曝光度曲线,控制图像的亮度以增强或减少曝光效果。
GrayScaleEffect 将图像转换为灰度模式,只保留亮度信息,去除所有色彩。
HighlightCurveEffect 调整高光曲线,增强或减弱图像中的高亮区域。
InvertEffect 反相效果,将图像的颜色转换为相反的颜色,生成负片效果。
LevelsEffect 调整图像的色阶,通过改变输入和输出黑白点来控制图像亮暗。
MidtoneCurveEffect 调整中间色调曲线,主要影响图像的中间亮度区域。
ShadowCurveEffect 调整阴影曲线,增强或减弱图像中的阴影区域。
SharpenEffect 锐化效果,增加图像边缘的清晰度,使细节更加突出。
TintEffect 应用色调效果,增加某种颜色的覆盖,使图像带有特定色彩基调。
VividEffect 增加图像的色彩饱和度和对比度,使图像显得更加鲜艳生动。
WhiteSaturationCurveEffect 调整白色饱和度,影响图像中纯白区域的饱和感与明亮度。

下面是一个反相效果的代码:

var bmp = new Bitmap(Image.FromFile("Microsoft_logo.png"));
var invertEffect = new System.Drawing.Imaging.Effects.InvertEffect();
bmp.ApplyEffect(invertEffect);
bmp.Save(DateTime.Now.ToString("ddHHmmssfff") + ".png");

效果如下:

 

  • FolderBrowserDialog多选

  FolderBrowserDialog 现在支持选择多个文件夹,这些文件夹存储在 SelectedPaths 数组中。要启用多选功能,请将 Multiselect 设置为 true。

  文章来源微信公众号

  想要更快更方便的了解相关知识,可以关注微信公众号 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/892222.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019-PTA模拟赛-L1-3 后天(三目表达式-仅代码)

签到题,无解析Code: #include<iostream> using namespace std; int main(){int d;cin >> d;int res = (d + 2) % 7 == 0 ? 7 : (d + 2) % 7;cout << res;return 0; }

SemanticKernel系列,AI系列,SmartFill介绍视频系列

SemanticKernel系列 Semantic Kernel(SK)是微软开发的开源框架,旨在帮助开发者将大型语言模型(LLM)集成到应用程序中。它提供了丰富的工具和功能,支持多种编程语言,简化了LLM的调用和管理过程。通过SK,开发者可以更高效地构建智能应用,实现自然语言处理、对话生成等功…

Python|Windows 系统安装 triton 的方法

若未安装,则在运行调用了该仓库的 Python 脚本时,会报错如下:ModuleNotFoundError: No module named triton在 Windows 系统中,如果直接使用 pip 安装,会报错如下:pip install triton ERROR: Could not find a version that satisfies the requirement triton (from vers…

linux---常见命令

使用的是linux服务器,在这里整理一些linux常见的命令: 1、查看服务器端口命令sudo netstat -tuln打完收工!

国家 - 1

Mi propio escondite.今天说冰岛。 这是冰岛的轮廓:

Semantic Kernel:图片向量化

虽然本节与SK无关,但都是基于AI,所以暂且放在这个系统中Azure AI 视觉的多模式嵌入 API 可以将图像和文本转换为向量,也就是一种数字化的表示方式。这种技术可以让我们实现基于向量的图片搜索功能。通过结合这个 API 和 pgvector(PostgreSQL 中的向量库),我们可以让图片变…

miniconda创建虚拟环境后vscode使用conda时提示无法将“conda”项识别——附使用conda运行python项目简单教程

前提:miniconda已经加入到环境变量 vscode找到setting输入shell: windows改成cmd,重启vscode就好了 跑python项目需要对应的python版本和依赖包,使用anaconda管理python环境是个很好的选择,但是不需要跑深度学习大数据这种比较大的项目或者模型使用miniconda是个不错的选…

Semantic Kernel:SK中的Function

Semantic Kernel中的Functions被设计为可被动态调用的“插件”,用于处理某些特定的操作。例如,一个Function可以是用于获取天气信息的API请求,或者是用于计算复杂数学表达式的函数。在SK中,Functions通常分为以下两种类型:本地函数和语义函数。 Native Functions(本地函数…

寻觅Notepad2e

起因 这天,正当我兴致勃勃地编写新的博客时,想要打开windows的notepad,结果居然发现有个奇怪的东西,还占在最优匹配上,还好我看了一眼名字没有回车直接打开 我倒要看看是哪个国产流氓软件(注:刻板印象)给我偷偷装上的新notepad。哦,原来是TortoiseGit啊,误会国产软件…

【Flutter】 Getx动态路由管理方案

根组件配置应用入口配置:使用 GetMaterialApp 作为应用的根组件,它是 MaterialApp 的增强版本,提供了路由管理等额外功能。初始路由设置:通过 initialRoute 参数指定了应用启动时加载的初始页面为 Routes.homePage,这通常是一个字符串常量,定义在 routes.dart 文件中。路…

《数据结构(C语言版)(第3版)》勘误

第142页,如图,“i+1(1≤i≤p)为所指结点的度”,这句话看不懂。p是个指针,i是个序号,怎么它们还有数量大小关系呢? 我认为这里有误,实际上应该是:对于InsertChild:i必须满足1≤i≤p所指结点的度+1。 对于DeleteChild:i必须满足1≤i≤p所指结点的度。即“p所指结点的度…

2019-PTA模拟赛-L1-1 帅到没朋友

L1-1输入样例1: 3 3 11111 22222 55555 2 33333 44444 4 55555 66666 99999 77777 8 55555 44444 10000 88888 22222 11111 23333 88888输出样例1: 10000 88888 23333输入样例2: 3 3 11111 22222 55555 2 33333 44444 4 55555 66666 99999 77777 4 55555 44444 22222 11111输…