コンテンツにスキップ

Windows Forms

Xuất điển: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』

Windows Formsマイクロソフト.NET Frameworkに hàm まれるグラフィカルユーザーインターフェイスAPIおよびアプリケーションフレームワークの danh xưng である. Nhật bổn ngữ bản の công thức ドキュメント ( cựuMSDNライブラリ ) では “Windowsフォーム” と biểu ký されている[1].“WinForms” と lược ký されることもある[2].

Khái yếu

[Biên tập]

Windows FormsはWindows API(GDI/GDI+) をマネージコードでラップし,WindowsユーザーインターフェイスYếu tố へのアクセスを đề cung するアプリケーションフレームワークである. 従 lai からVisual C++Dụng に đề cung されていた, phục tạp なネイティブC++ベースのMFCや, cựuVisual Basic( VB6 ) のフォームにとって đại わるものとされる nhất phương で, Windows FormsはMVCモデルを đề cung していない. また,シェルQuan liên など nhất bộ のAPIに quan してはラッパーが tồn tại しないので, それらをWindows Formsで lợi dụng するためにはC++/CLINgôn ngữ でラッパーアセンブリを tác thành するか, あるいはP/Invokeなどの thủ pháp を dụng いる tất yếu がある. そのほか, MFCアプリケーションからWindows Formsコントロールを lợi dụng するなどのシナリオを tưởng định した tương hỗ vận dụng cơ năng も dụng ý されている[3][4].

Windows Formsアプリケーション khai phát にVisual Studioを lợi dụng することで,.NET dĩ tiền のVisual BasicDelphiのように, GUI ( フォームデザイナー ) で giản 単かつ hiệu suất đích に họa diện tác thành やGUI bộ phẩm の tường tế な thiết định を hành なうことができる (RAD). これは, GUI bộ phẩm の giản 単な phối trí や giản 単な thiết định までしかできないWin32/MFCのリソースエディターやダイアログエディターとは đại きく dị なる. GUIによって tác thành したウィンドウレイアウト tình báo は, リソースファイルに変 hoán されるのではなく, Visual StudioIDEによって trực tiếpC#Visual Basic.NETなどのソースコードに変 hoán して xuất lực される ( コード ビハインド ). マネージ ngôn ngữ はIDEとの thân hòa tính が cao く, Windows Formsによって sinh sản tính の cao いGUIアプリケーション khai phát hoàn cảnh が đề cung される.

なお, Windows Formsのターゲット hoàn cảnh はデスクトップ アプリケーションであり, ブラウザで động tác するWebアプリケーションを khai phát するにはASP.NETなどを lợi dụng することになる.

コード lệ

[Biên tập]

C#によるWindows Formsを sử dụng したHello worldプログラムの lệ である. ここで,System.Windows.FormsがWindows Formsの danh tiền không gian を biểu す.

usingSystem;
usingSystem.Windows.Forms;

publicclassHelloWorld
{
[STAThread]
publicstaticvoidMain()
{
Formform=newForm();
form.Text="Hello world!";
Application.Run(form);
}
}

ソースコード

[Biên tập]

Cơ bổn クラスライブラリをはじめとする.NET FrameworkのソースコードはMicrosoftリファレンスソースライセンス (MS-RSL) に cơ づいて công khai されている[5][6].この trung にWindows Formsも hàm まれている[7].もともと.NET Frameworkはプロプライエタリでソースコードは công khai されていなかったが, 2007 niên に.NET Framework 3.5の phát biểu に hợp わせて công khai された[8]..NET( cựu xưng.NET Core) のソースコードはMITライセンスに cơ づいて công khai されており, Windows Formsも hàm まれている[9].

Windows Formsのソースコードの đại bán はC#を sử って ký thuật されており,P/InvokeCOMTương hỗ vận dụng を lợi dụng してWindows APIを hô び xuất しているが, nhất bộ の thật trang にVB.NETも sử われている[10].ネイティブ tương hỗ vận dụng のテストコードにはC++も sử われている[11].

Hỗ hoán thật trang

[Biên tập]

マイクロソフトによるWindows chuyên dụng の.NET Frameworkベース công thức thật trang のほか,Monoによる hỗ hoán thật trang ( thông xưng WinForms ) が tồn tại する[12].MonoのWinFormsは.NET 1.1/2.0 hỗ hoán の thật trang を đề cung するが, 2017 niên hiện tại の khai phát trạng huống はメンテナンスフェイズとなっている.

Khóa đề と tương lai tính

[Biên tập]

Windows Formsは.NET Framework 1.0のリリースとともに đăng tràng したが,.NET 2.0で cơ năng truy gia[13]や sĩ dạng 変 canh がなされた hậu は đại きな変 hóa がない..NET 3.0で đạo nhập され, Windowsのバージョンアップとともに継続 đích に cơ năng truy gia がなされた hậu phát のデスクトップアプリケーションフレームワークであるWPFに bỉ べると,マルチタッチやDPI Aware[14][15]などに tiêu chuẩn で đối ứng していないなど, tối tân の kỹ thuật động hướng は phản ánh されにくい khuynh hướng にある..NET 4.5.1,.NET 4.5.2,.NET 4.6,.NET 4.7ではそれぞれ cao DPI hoàn cảnh hạ でのWindows Formsコントロールのリサイズに quan する cơ năng が từ 々に拡 trương ・ cải thiện されているが, kí định ではなくオプトインである[16][17].

また, Visual C++にはバージョン2010までWindows Formsのアプリケーションプロジェクトテンプレートが tồn tại していたが, バージョン2012 dĩ hàng は tước trừ されている. もともとVisual C++においてマネージコンポーネントであるWindows Formsを tráp うにはC++/CLI ngôn ngữ を sử dụng する tất yếu があったが, C++/CLIはマネージコードとアンマネージコードの tương hỗ vận dụng を hành なうグルー ngôn ngữDụng đồ としてのみ sử dụng することが thôi thưởng されている[18].

しかし, hậu 継となるWPFはMFCやWindows Formsの hoàn toàn なスーパーセットではなく, nhất bộ は đồng đẳng cơ năng が dụng ý されていない. Win32/MFCやWindows Formsで tác thành されたコード tư sản を tái lợi dụng するため, WPFアプリケーションでもWin32/MFCやWindows Formsとの liên huề を hành なうシナリオを tưởng định した tương hỗ vận dụng cơ năng が dụng ý されている[19][20][21][22].

.NET Core3.0では, Windows bản hạn định ではあるがWPFとともにWindows Formsが thật trang された[23]..NET Frameworkのメジャーアップデートは4.8で tối hậu となるが, メンテナンスは継続される.

.NET Frameworkと.NET Core song phương の hậu 継となる.NET 5のWindows Formsでは,Windows Vistaで đạo nhập されたタスクダイアログのラッパークラスや, cường hóa されたWin32リストビュー cơ năng へのアクセスAPIが truy gia されるなど, オープンソース khai phát コミュニティによるプルリクエストを thủ り込んだ tân cơ năng が đạo nhập された[24][25]..NET 6/7/8でも tân cơ năng がいくつか truy gia されており,.NET 9でも tân cơ năng の thật trang が dư định されている[26].

Cước chú

[Biên tập]
  1. ^Windows フォーム | Microsoft Docs
  2. ^Windowsフォーム khai phát に tối thích なコンポーネントセット - ComponentOne Studio for WinForms | グレープシティ コンポーネント chế phẩm
  3. ^Using a Windows Form User Control in MFC | Microsoft Docs
  4. ^MFC での Windows フォーム ユーザー コントロールの sử dụng | 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ライブラリのソースコード công khai へ|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: Đặc tập.NET Framework 2.0のWindowsフォーム tân cơ năng ( tiền biên )
  14. ^アプリの cao DPI(High DPI) đối ứng について đệ 2 hồi ~ アプリケーションの cao DPIへの đối ứng レベル ~ – điền trung đạt ngạn のブログ
  15. ^Windows フォーム アプリの DPI Aware への変 canh ngôn ngữ: XML
  16. ^アプリの cao DPI(High DPI) đối ứng について đệ 1 hồi ~ cao DPIとは ~ – điền trung đạt ngạn のブログ
  17. ^What's new in the.NET Framework | Microsoft Docs
  18. ^Visual Studio 2012, 2013 で Visual C++ の Windows フォーム アプリケーション テンプレートが tước trừ され, tân quy に tác thành できない
  19. ^WPF and Win32 Interoperation | Microsoft Docs
  20. ^Walkthrough: Hosting a Windows Forms Control in WPF | Microsoft Docs
  21. ^WPF と Win32 の tương hỗ vận dụng tính に quan する khái yếu | Microsoft Docs
  22. ^チュートリアル: Windows Presentation Foundation での Windows フォーム コントロールのホスト | Microsoft Docs
  23. ^Windows Forms アプリを.NET Core 3.0 に di thực する -.NET Core | Microsoft Docs
  24. ^Windows Forms 5.0の tân cơ năng - InfoQ
  25. ^Windows フォーム.NET 5 の tân cơ năng - Windows Forms.NET | Microsoft Learn
  26. ^Microsoft Build 2024で phát biểu されたWindowsデスクトップ khai phát まわりの tình báo | MESCIUS.devlog - メシウス chu thức hội xã

Quan liên hạng mục

[Biên tập]

Ngoại bộ リンク

[Biên tập]