C# ベースのボーダーレス ウィンドウ アニメーション効果の完璧なソリューション - オープンソース研究シリーズの記事

       最近、私は C# に基づいて WinForm アプリケーションを整理して作成していましたが、他の読者も遭遇する可能性のある問題、つまり C# の Borderless ボーダレス フォームのアニメーション効果に遭遇しました。

       Visual Studio 2022 では、C# WinForm プログラムは、Borderless ボーダーレス フォームのスタイル効果を提供しますが、ボーダーレス フォームの下のフォームの読み込み、最小化、最大化のアニメーション効果は提供しません。多くの読者はこのアニメーション効果の問題に遭遇したことがあるはずです。ボーダーレスフォームの他の例を検索しましたが、多くはボタンでフォームの状態を最小化または最大化として設定するだけですが、このフォームは直接表示されたり消えたりするだけで、タイトルバーのアニメーション効果のあるフォームはありません。したがって、この問題を解決するには、このフチなしフォームのアニメーション効果を自分で処理する必要があります。いくつかの検索とコーディングを経て、境界のないウィンドウ用の完璧なアニメーション効果ソリューションに関する本日のブログ投稿が完成しました。詳細については、次の概要を参照してください。

  1. プロジェクトディレクトリ。

  プロジェクト ディレクトリについては、以下のスクリーンショットを参照してください。詳細については、ソリューションを開いて表示してください。

   

  2. いくつかのコードの導入。

  以下にいくつかの機能コードを紹介します。

  1) ボーダレスフォームの親クラス定義。

  親クラスの作成者は、Componet ディレクトリ内の BorderlessAnimation ディレクトリに配置して配置し、そのディレクトリを対応するプロジェクトに直接コピーし、特定のコード リーダーが自分で Native.cs ファイルと FormBase.cs ファイルの名前空間を変更します。対応するコンポーネント ライブラリまたはプロジェクト フォルダーに配置すると、使用される他のフォームを適用できます。

  この親クラスで使用される一部の API 関数は、Native.cs に配置されます。FormBase ファイルはフォームの継承クラスであり、主にフォームのメッセージ処理などの機能を記述します。

  2) フチなしフォームのサンプルコード;

  フォームはクラスを継承し、主にフォームのメッセージを処理してから操作を実行します。以下は例であり、実装関数はファイルの下にあります。読者の皆様もぜひご自身でお読みください。比較的簡単なのでコメントは書きません。

   

  3) フォームの適用例。

  プロジェクトではフォームの使用例が 2 つ提供されています。Demo1 はオリジナルの例、Demo2 は作成者が作成した使用例で、より簡潔になっており、読者は必要に応じて直接変更できます。

   

  3. 運用効果図;

  ランニングの効果は次のとおりです。

  1) 元の例:

   

  2) 簡潔な例:

   

  4. ソースコードのダウンロード;

  ソース コードのダウンロードはここで提供されます。必要に応じて次のリンクを開いてください: https://download.csdn.net/download/lzhdim/88084280

  最後に、このソリューションに問題がある場合は、このソリューションのソース コードがボーダーレス フォーム アニメーション効果を解決する必要があるより多くの読者に役立つように、ソース コードを変更および更新してください。実際、ボーダレス ウィンドウの親クラスは、主に Windows システムが提供する API 関数を通じてウィンドウを変更し、関連するウィンドウ メッセージを処理して実行するものであり、詳細についてはソース コードを読んでください。このソリューションは、著者がこれまでにコンパイルした中で最も完璧な C# ボーダレス ウィンドウ ソリューションです。読者が他のより良いソリューションやソース コードをお持ちの場合は、著者も適用できるように、提供してください。

おすすめ

転載: blog.csdn.net/lzhdim/article/details/131908658