Windows フォームとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework用語 > Windows フォームの意味・解説 

Windows フォーム [Windows Forms]


Windows Forms

(Windows フォーム から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/08/10 17:39 UTC 版)

Windows Formsマイクロソフト.NET Frameworkに含まれるグラフィカルユーザーインターフェイスAPIおよびアプリケーションフレームワークの名称である。日本語版の公式ドキュメント(旧MSDNライブラリ)では「Windowsフォーム」と表記されている[1]。「WinForms」と略記されることもある[2]

概要

Windows FormsはWindows APIGDI/GDI+)をマネージコードでラップし、Windowsユーザーインターフェイス要素へのアクセスを提供するアプリケーションフレームワークである。従来からVisual C++用に提供されていた、複雑なネイティブC++ベースのMFCや、旧Visual Basic(VB6)のフォームにとって代わるものとされる一方で、Windows FormsはMVCモデルを提供していない。また、シェル関連など一部のAPIに関してはラッパーが存在しないので、それらをWindows Formsで利用するためにはC++/CLI言語でラッパーアセンブリを作成するか、あるいはP/Invokeなどの手法を用いる必要がある。そのほか、MFCアプリケーションからWindows Formsコントロールを利用するなどのシナリオを想定した相互運用機能も用意されている[3][4]

Windows Formsアプリケーション開発にVisual Studioを利用することで、.NET以前のVisual BasicDelphiのように、GUI(フォームデザイナー)で簡単かつ効率的に画面作成やGUI部品の詳細な設定を行なうことができる(RAD)。これは、GUI部品の簡単な配置や簡単な設定までしかできないWin32/MFCのリソースエディターやダイアログエディターとは大きく異なる。GUIによって作成したウィンドウレイアウト情報は、リソースファイルに変換されるのではなく、Visual Studio IDEによって直接C#Visual Basic .NETなどのソースコードに変換して出力される(コード ビハインド)。マネージ言語はIDEとの親和性が高く、Windows Formsによって生産性の高いGUIアプリケーション開発環境が提供される。

なお、Windows Formsのターゲット環境はデスクトップ アプリケーションであり、ブラウザで動作するWebアプリケーションを開発するにはASP.NETなどを利用することになる。

コード例

C#によるWindows Formsを使用したHello worldプログラムの例である。ここで、System.Windows.FormsがWindows Formsの名前空間を表す。

using System;
using System.Windows.Forms;

public class HelloWorld
{
    [STAThread]
    public static void Main()
    {
        Form form = new Form();
        form.Text = "Hello world!";
        Application.Run(form);
    }
}

ソースコード

基本クラスライブラリをはじめとする.NET FrameworkのソースコードはMicrosoftリファレンスソースライセンス (MS-RSL) に基づいて公開されている[5][6]。この中にWindows Formsも含まれている[7]。もともと.NET Frameworkはプロプライエタリでソースコードは公開されていなかったが、2007年に.NET Framework 3.5の発表に合わせて公開された[8].NET(旧称.NET Core)のソースコードはMITライセンスに基づいて公開されており、Windows Formsも含まれている[9]

Windows Formsのソースコードの大半はC#を使って記述されており、P/InvokeCOM相互運用を利用してWindows APIを呼び出しているが、一部の実装にVB.NETも使われている[10]。ネイティブ相互運用のテストコードにはC++も使われている[11]

互換実装

マイクロソフトによるWindows専用の.NET Frameworkベース公式実装のほか、Monoによる互換実装(通称WinForms)が存在する[12]。MonoのWinFormsは.NET 1.1/2.0互換の実装を提供するが、2017年現在の開発状況はメンテナンスフェイズとなっている。

課題と将来性

Windows Formsは.NET Framework 1.0のリリースとともに登場したが、.NET 2.0で機能追加[13]や仕様変更がなされた後は大きな変化がない。.NET 3.0で導入され、Windowsのバージョンアップとともに継続的に機能追加がなされた後発のデスクトップアプリケーションフレームワークであるWPFに比べると、マルチタッチやDPI Aware[14][15]などに標準で対応していないなど、最新の技術動向は反映されにくい傾向にある。.NET 4.5.1, .NET 4.5.2, .NET 4.6, .NET 4.7ではそれぞれ高DPI環境下でのWindows Formsコントロールのリサイズに関する機能が徐々に拡張・改善されているが、既定ではなくオプトインである[16][17]

また、Visual C++にはバージョン2010までWindows Formsのアプリケーションプロジェクトテンプレートが存在していたが、バージョン2012以降は削除されている。もともとVisual C++においてマネージコンポーネントであるWindows Formsを扱うにはC++/CLI言語を使用する必要があったが、C++/CLIはマネージコードとアンマネージコードの相互運用を行なうグルー言語用途としてのみ使用することが推奨されている[18]

しかし、後継となるWPFはMFCやWindows Formsの完全なスーパーセットではなく、一部は同等機能が用意されていない。Win32/MFCやWindows Formsで作成されたコード資産を再利用するため、WPFアプリケーションでもWin32/MFCやWindows Formsとの連携を行なうシナリオを想定した相互運用機能が用意されている[19][20][21][22]

.NET Core 3.0では、Windows版限定ではあるがWPFとともにWindows Formsが実装された[23].NET Frameworkのメジャーアップデートは4.8で最後となるが、メンテナンスは継続される。

.NET Frameworkと.NET Core双方の後継となる.NET 5のWindows Formsでは、Windows Vistaで導入されたタスクダイアログのラッパークラスや、強化されたWin32リストビュー機能へのアクセスAPIが追加されるなど、オープンソース開発コミュニティによるプルリクエストを取り込んだ新機能が導入された[24][25]。.NET 6/7/8でも新機能がいくつか追加されており、.NET 9でも新機能の実装が予定されている[26]

脚注

  1. ^ Windows フォーム | Microsoft Docs
  2. ^ Windowsフォーム開発に最適なコンポーネントセット - ComponentOne Studio for WinForms | グレープシティ コンポーネント製品
  3. ^ Using a Windows Form User Control in MFC | Microsoft Docs
  4. ^ MFC での Windows フォーム ユーザー コントロールの使用 | Microsoft Docs
  5. ^ Microsoft Reference Source - .NET Framework
  6. ^ End User License Agreement - MICROSOFT REFERENCE SOURCE LICENSE (MS-RSL)
  7. ^ Microsoft Reference Source - .NET Framework (#System.Windows.Forms)
  8. ^ マイクロソフト、.NET Frameworkライブラリのソースコード公開へ|CodeZine(コードジン)
  9. ^ winforms/LICENSE.TXT at main · dotnet/winforms · GitHub
  10. ^ winforms/src/Microsoft.VisualBasic.Forms/src/Microsoft/VisualBasic at main · dotnet/winforms · GitHub
  11. ^ winforms/src/System.Windows.Forms/tests/InteropTests/NativeTests at main · dotnet/winforms · GitHub
  12. ^ WinForms | Mono
  13. ^ @IT:特集 .NET Framework 2.0のWindowsフォーム新機能(前編)
  14. ^ アプリの高DPI(High DPI)対応について 第2回 ~ アプリケーションの高DPIへの対応レベル ~ – 田中達彦のブログ
  15. ^ Windows フォーム アプリの DPI Aware への変更 言語: XML
  16. ^ アプリの高DPI(High DPI)対応について 第1回 ~ 高DPIとは ~ – 田中達彦のブログ
  17. ^ What's new in the .NET Framework | Microsoft Docs
  18. ^ Visual Studio 2012、2013 で Visual C++ の Windows フォーム アプリケーション テンプレートが削除され、新規に作成できない
  19. ^ WPF and Win32 Interoperation | Microsoft Docs
  20. ^ Walkthrough: Hosting a Windows Forms Control in WPF | Microsoft Docs
  21. ^ WPF と Win32 の相互運用性に関する概要 | Microsoft Docs
  22. ^ チュートリアル : Windows Presentation Foundation での Windows フォーム コントロールのホスト | Microsoft Docs
  23. ^ Windows Forms アプリを .NET Core 3.0 に移植する - .NET Core | Microsoft Docs
  24. ^ Windows Forms 5.0の新機能 - InfoQ
  25. ^ Windows フォーム .NET 5 の新機能 - Windows Forms .NET | Microsoft Learn
  26. ^ Microsoft Build 2024で発表されたWindowsデスクトップ開発まわりの情報 | MESCIUS.devlog - メシウス株式会社

関連項目

外部リンク


「Windows フォーム」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Windows フォーム」の関連用語

Windows フォームのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Windows フォームのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのWindows Forms (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS