🌟

Visual StudioでC#+WPFのWindowsアプリケーションを作ろう!!

に公開

GUIアプリケーションを作ろう

GUIとは、Graphic User Interfaceの略で、それがアプリケーションプログラムを指す場合は、画面上にボタンやテキストボックスなどのインターフェースを表示させて、ユーザが操作に応じて、何か出力しされたり、何か処理が行われたりするものです。。。うーん、わかりずらい。。。
GUIの種類としては、私の紹介するWindowsのローカルで動くも、Linuxのローカルで動くもの、インターネットブラウザを通して動くもの、スマフォで動くものなど、た~くさんあります。さらに、それを開発する環境や言語もた~~~~くさんあります。
その中で、なぜWindowsのアプリケーションなのか?それは。。。私が知っているから!!(爆)本ページでは時代に逆行します(笑)Windowsのローカルで動くアプリケーションに絞っても、たくさんのプラットフォームがありますが、やはり、WindowsならVisual Studioで開発するのがよいと思います。情報やライブラリも必要十分ですし、なによりVisual StudioでC#が開発しやすと思います!しかーし、ちょっと取っつきにくいところもあるのも事実。
C#だけではGUIは作れないので、.NETというプラットフォームを用いた開発必要です。それにも、Windows FormsとWPFという2種類のものがあります。実は、Windows Formsのほうが、マウスでボタンなどのGUI部品を配置したりできるので、取っつきやすさがあります。しかし、ちゃんと作るなら断然WPFです。Windows Formsで作成したアプリケーションも作ったことはあるのですが、同じWindowsでも海外のPCだと、GUIが崩れたりすることがあってよくトラブりました(汗)。また、GUI部品をカスタマイズしようとすると、ものすごい知識を要求されたりするので、私には不可能でした(汗汗)。そういう意味でも、ちょっと取っつきにくくても、最終的にはWPFを選んだほうがよいと思います。

Visual Studioをインストールしよう

Visual Studioをインストールしてください。Visual Studioは、Community、Professional、Enterpriseという種類があります。PC 250台以上、または年間売上が100万米ドル以上の組織でなければ、5台までは無料でCommunityが使えます。また、アカデミックな研究や、オープンソース付与に使う場合は、無制限で無料でCommunityが使えます。それ以外の方は、ProfessionalかEnterpriseを購入しましょう。Communityは、全機能が使えるので、これが使える条件に当てはまれば、これで十分です。

Visual Studio Communityのリンク→ https://visualstudio.microsoft.com/ja/vs/community/

インストールは、基本、そのままポチポチと、進めていけばいいのですが、インストールの途中で、ワークロードというものがでてきます。これは、Visual Studioを使う上で使用する言語やプラットフォームを選ぶものです。ここでは、私の今後の記事を想定して、「.NETデスクトップ環境」と「C++によるデスクトップ環境」の2つのプラットフォームをインストールしてください。選択し終えたら、☑マークがつくので、「インストール」ボタンを押して、そのまま、じっとインストールが終わるのを待ちましょう。ちなみに、これらのオプションは、後でも変更できるので気軽に選んでもらって大丈夫です。

プロジェクトの作成

まず、Visual Studio 2022を起動します。
インストール後、初めて起動すると、ログインを求められます。わからない場合は、「あとで」を選択して次に進みましょう。次にVisual Studio 2022をスタート画面が出てきますので、「新しいプロジェクトを作成」を選びます。

たくさんのプロジェクトの種類がでてきますが、上のボックスに「WPF アプリ」と記述し、「C#」「Windows」「デスクトップ」を選んでみましょう。すると、以下のような画面になり、「WPF アプリケーション」と「WPF アプリ (.NET Framework)」があるのが、わかります。本記事では、最新のプラットフォームでの記事がメインとなるので、「WPF アプリケーション」を選んでください。

この2つのプロジェクトの種類における、メリットとデメリットをまとめました。

プロジェクトの種類 アプリケーション開発プラットフォーム メリット デメリット
WPF アプリケーション .NET (.NET 8.0) 一般的な.NET SDKプロジェクトで、C#8以降の言語バージョンが使え、便利な最新のAPIが使える。今後、開発環境、記述方法、APIの進化が期待できるプラットフォーム。オープンソース。 他のPCで動かそうとすると.NETのランタイムのインストールがだいたい必要。セキュリティアップデートのサポート期間の終了が短く、メンテナンスのたびに.NETのバージョンを検討する必要がある。
WPF アプリ (.NET Framework) .NET Framework 他のPCで動かそうとした場合でも、ランタイムが入っていることが多い。セキュリティアップデートの終了期限が非常に長い。枯れた技術。 C#7.3までの言語バージョンしか使えないため、記述方法やAPIに不便を感じる場合がある。機能的なアップデートは今後なし。まだ先の話だが、今後サポートされなくなる方向のプラットフォーム。昔ながらの独自のプロジェクトのマークアップ。

ちなみに、A.I.に聞いてみると以下の通りでした。

項目 .NET Core / .NET (最新) .NET Framework
🖥 対応UI技術 WPF / Windows Forms(Windows環境限定)
※一部機能に制限あり
WPF / Windows Forms(機能が豊富で成熟)
⚙ パフォーマンス .NET 6以降はパフォーマンス向上著しい Windows専用最適化されているが古い設計あり
🔄 モダンアーキテクチャ マイクロサービス・クラウド・CI/CDに対応しやすい モノリシック設計が中心
🧩 モジュール性 NuGetベースの軽量構成・必要なライブラリのみ導入 多くが一体型・サイズが重くなりがち
🌐 将来性 .NET 8以降も積極的に開発・保守される .NET Framework 4.8が最終版とされている
🧪 テストとDevOps xUnit, MSTestなどとの統合容易、GitHub ActionsやAzure DevOpsと好相性 CI/CD導入には工夫が必要、ツールに制限あり
⚠ 制限事項 Windows Formsはまだ制限がある(例えば一部コントロール未対応) Windows Formsの成熟度高く業務系に最適
🏢 企業での利用 新規プロジェクトやクラウド連携が強み 多くの業務アプリが既に導入済み・互換性に優れる
🚚 移行の容易さ 一部互換性に注意(App.configや第三者DLLなど) 既存資産を活用しやすく移行の必要がないケースも多い

では、プロジェクト名をつけて、次へを押します。ここでは「GUISample」としています。

「.NET 8.0 (長期的なサポート)」を選んで、「作成」を押します。長期的なサポートっていったって、2026/11/10までです。。。トホホ

プロジェクトの作成が完了しました。画面では、よく使うソリューションエクスプローラーを選んだ状態です。

Discussion