Looking for winforms Answers? Try Ask4KnowledgeBase
Looking for winforms Keywords? Try Ask4Keywords

winformswinformsを使い始める


備考

Windowsフォーム (「WinForms」と略記)は、.NET Frameworkに付属するGUIクラスライブラリです。これはWin32 APIを中心とした洗練されたオブジェクト指向のラッパーで、 .NET FrameworkをターゲットとするWindowsデスクトップおよびモバイルアプリケーションの開発を可能にします

WinFormsは主にイベントドリブンです。アプリケーションは、ユーザーが直接やりとりするコントロール (ラベル、ボタン、テキストボックス、リストなど)を含む複数のフォーム (画面上にウィンドウとして表示)で構成されています。これらのコントロールは、ユーザーの操作に応じて、プログラムが処理できるイベントを発生させてタスクを実行します。

Windowsと同様、WinFormsのすべてはコントロールであり、それ自体がウィンドウの一種です。基本Controlクラスは、テキスト、位置、サイズ、および色を設定するプロパティ、および処理できる共通のイベントセットを含む基本的な機能を提供します。すべてのコントロールはControlクラスから派生し、追加機能を追加しています。一部のコントロールでは、再利用可能( FormUserControl )またはレイアウト( TableLayoutPanelFlowLayoutPanel )のいずれかの他のコントロールをホストできます。

WinFormsは.NET Framework(v1.0)のオリジナル版以降サポートされており、現代版(v4.5)でも引き続き使用できます。しかし、それはもはや積極的に開発されておらず、新しい機能は追加されていません。 Build 2014カンファレンスの9人のMicrosoft開発者によると、

Windowsフォームは引き続きサポートされていますが、メンテナンスモードです。彼らは発見されたバグを修正しますが、新しい機能はテーブルから外れています。

クロスプラットフォームのオープンソースのMonoライブラリは、Windows Formsの基本的な実装を提供し、.NET 2.0のMicrosoftの実装が果たしたすべての機能をサポートしています。しかし、WinFormsはMono上で積極的に開発されておらず、ネイティブWindows API(他のプラットフォームでは利用できません)とフレームワークがいかに密接にリンクしているかを考えると、完全な実装は不可能とみなされます。

参照:

Visual Studioを使用して簡単なWinFormsアプリケーションを作成する

この例では、Visual StudioでWindowsフォームアプリケーションプロジェクトを作成する方法を示します。

Windowsフォームプロジェクトの作成

  1. Visual Studioを起動します。

  2. [ファイル ]メニューの[ 新規作成 ]をポイントし、[ プロジェクト ]をクリックします。 [ 新規プロジェクト ]ダイアログボックスが表示されます。

  3. [ インストールされているテンプレート]ウィンドウで、[Visual C#]または[Visual Basic]を選択します。

  4. 中央の枠の上には、ドロップダウンリストからターゲットフレームワークを選択できます。

  5. 中央のウィンドウで、 Windowsフォームアプリケーションテンプレートを選択します

  6. [ 名前]テキストボックスに、プロジェクトの名前を入力します。

  7. [ 場所]テキストボックスで、プロジェクトを保存するフォルダを選択します。

  8. [ OK]をクリックします。

  9. Windowsフォームデザイナが開き、プロジェクトのForm1が表示されます

フォームにコントロールを追加する

  1. ツールボックスパレットから、 Buttonコントロールをフォーム上にドラッグします。

  2. ボタンをクリックして選択します。プロパティウィンドウで、 Text プロパティをSay Helloに設定します。

    ボタン付きのフォームを表示するVisual Studioデザイナー

コードを書く

  1. ボタンをダブルクリックしてClick イベントのイベントハンドラを追加Click ます。コードエディタが開き、イベントハンドラ関数内に挿入ポイントが配置されます。

  2. 次のコードを入力します。

    C#

    MessageBox.Show("Hello, World!");
     

    VB.NET

    MessageBox.Show("Hello, World!")
     

実行とテスト

  1. F5キーを押してアプリケーションを実行します。

    アプリケーションの実行時に表示されるフォーム

  2. アプリケーションが起動しているときは、ボタンをクリックして「Hello、World!」を表示します。メッセージ。

    「こんにちは、世界!」と言うメッセージボックス

  3. フォームを閉じてVisual Studioに戻ります。

テキストエディタを使用した簡単なC#WinFormsアプリケーションの作成

  1. テキストエディタ(メモ帳など)を開き、以下のコードを入力します。

     using System;
     using System.ComponentModel;
     using System.Drawing;
     using System.Windows.Forms;
    
     namespace SampleApp
     {
         public class MainForm : Form
         {
             private Button btnHello;
    
             // The form's constructor: this initializes the form and its controls.
             public MainForm()
             {
                 // Set the form's caption, which will appear in the title bar.
                 this.Text = "MainForm";
    
                 // Create a button control and set its properties.
                 btnHello = new Button();
                 btnHello.Location = new Point(89, 12);
                 btnHello.Name = "btnHello";
                 btnHello.Size = new Size(105, 30);
                 btnHello.Text = "Say Hello";
    
                 // Wire up an event handler to the button's "Click" event
                 // (see the code in the btnHello_Click function below).
                 btnHello.Click += new EventHandler(btnHello_Click);
    
                 // Add the button to the form's control collection,
                 // so that it will appear on the form.
                 this.Controls.Add(btnHello);
             }
    
             // When the button is clicked, display a message.
             private void btnHello_Click(object sender, EventArgs e)
             {
                 MessageBox.Show("Hello, World!");
             }
    
             // This is the main entry point for the application.
             // All C# applications have one and only one of these methods.
             [STAThread]
             static void Main()
             {
                 Application.EnableVisualStyles();
                 Application.Run(new MainForm());
             }
         }
     }
     
  1. 読み書き可能なパスにファイルを保存します。通常、 X:\MainForm.cs など、そのファイルに含まれるクラスの後にファイル名を付けます。
  1. コマンドラインからC#コンパイラを実行し、コードファイルへのパスを引数として渡します。

     %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\csc.exe /target:winexe "X:\MainForm.cs"
     

    注:他の.NETフレームワークバージョンにC#コンパイラのバージョンを使用するには、パス%WINDIR%\Microsoft.NET を見て、それに応じて上記の例を変更してください。 C#アプリケーションのコンパイルの詳細については、最初のC#プログラムコンパイルして実行するを参照してください。

  1. コンパイルが完了すると、 MainForm.exe という名前のアプリケーションがコードファイルと同じディレクトリに作成されます。このアプリケーションは、コマンドラインから実行することも、エクスプローラでダブルクリックすることもできます。

テキストエディタを使用した単純なVB.NET WinFormsアプリケーションの作成

  1. テキストエディタ(メモ帳など)を開き、以下のコードを入力します。

     Imports System.ComponentModel
     Imports System.Drawing
     Imports System.Windows.Forms
    
     Namespace SampleApp
         Public Class MainForm : Inherits Form
             Private btnHello As Button
     
             ' The form's constructor: this initializes the form and its controls.
             Public Sub New()
                 ' Set the form's caption, which will appear in the title bar.
                 Me.Text = "MainForm"
     
                 ' Create a button control and set its properties.
                 btnHello = New Button()
                 btnHello.Location = New Point(89, 12)
                 btnHello.Name = "btnHello"
                 btnHello.Size = New Size(105, 30)
                 btnHello.Text = "Say Hello"
     
                 ' Wire up an event handler to the button's "Click" event
                 ' (see the code in the btnHello_Click function below).
                 AddHandler btnHello.Click, New EventHandler(AddressOf btnHello_Click)
     
                 ' Add the button to the form's control collection,
                 ' so that it will appear on the form.
                 Me.Controls.Add(btnHello)
             End Sub
     
             ' When the button is clicked, display a message.
             Private Sub btnHello_Click(sender As Object, e As EventArgs)
                 MessageBox.Show("Hello, World!")
             End Sub
     
             ' This is the main entry point for the application.
             ' All VB.NET applications have one and only one of these methods.
             <STAThread> _
             Public Shared Sub Main()
                 Application.EnableVisualStyles()
                 Application.Run(New MainForm())
             End Sub
         End Class
     End Namespace
     
  1. 読み書き可能なパスにファイルを保存します。通常、 X:\MainForm.vb ように、ファイルに含まれるクラスの後にファイル名を付けるのが一般的です。
  1. コマンドラインからVB.NETコンパイラを実行し、コードファイルへのパスを引数として渡します。

     %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\vbc.exe /target:winexe "X:\MainForm.vb"
     

    注:他の.NETフレームワークのバージョンにVB.NETコンパイラのバージョンを使用するには、パス%WINDIR%\Microsoft.NET を見て、上記の例を適宜変更してください。 VB.NETアプリケーションのコンパイルの詳細については、「 Hello World 」を参照してください。

  1. コンパイルが完了すると、 MainForm.exe という名前のアプリケーションがコードファイルと同じディレクトリに作成されます。このアプリケーションは、コマンドラインから実行することも、エクスプローラでダブルクリックすることもできます。