Fork me on GitHub

.NET9里WinForm更新了什么

  下面是几个在.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。

  文章来源微信公众号

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

 

posted @   桂素伟  阅读(0)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示