.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 色チャンネル(赤、緑、青)を個別に調整し、各色の表現を詳細に制御するために使用します InvertEffectのコードサンプル:
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に設定します。
(Translated by GPT)