1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.NET9でWinFormにアップデートされた内容

Posted at

.NET9では、WinFormに以下の新機能が追加されています。

  • テーマ

    Windows Formsは初期段階でダークモードをサポートしており、.NET 10では完全なサポートを目指しています。アプリケーションのカラーモードは、次の値に設定できます。

    • SystemColorMode.Classic:デフォルトの明るいモードで、以前のバージョンのWindows Formsと同じです。
    • SystemColorMode.System:Windowsの設定に従って明るいモードまたはダークモードを使用します。
    • SystemColorMode.Dark:ダークモードを使用します。
    <NoWarn>$(NoWarn);WFO5001</NoWarn>
    
    Application.SetColorMode(SystemColorMode.Dark);
    

    Image

    ボタンの効果は小さいです。

  • 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");
    

    効果は次のとおりです:

    Image    
    Image

  • FolderBrowserDialog多選

    FolderBrowserDialogは、多くのフォルダを選択できるようになりました。これらのフォルダはSelectedPaths配列に格納されます。マルチセレクト機能を有効にするには、Multiselectをtrueに設定します。

(Translated by GPT)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?