今回紹介するのは、4月のこのエントリの続きで非常に基本的な事の学習です。
中段者レベルになりたいと思う方への登竜門的な取り組みだと考えていますので、ご覧になられた方の参考になれば幸いです。
内容はいたって簡単で、Sub Main() とSub New()を意識したWindows アプリケーションのフォームの作成から実行までを全て自分で作ってみようというものです。( ̄ω ̄;)エートォ......ダイジョウブデスカ?
それでは早速ですが、手順を紹介します。
- IDEを起動します。( 今回はVisual Basic 2005です。 )
- 画面左上のメニューから [ ファイル(F) ] ⇒ [ 新規作成(N) ] ⇒ [ プロジェクト(P) ] の順番で選択します。
- 新しいプロジェクトとタイトルのあるフォームから[ 空のプロジェクト ] を選択し、任意のプロジェクト名を入力します。
- 画面上のメニューバーから [ プロジェクト(P) ] ⇒[ 参照の追加(R) ...] を選択します。
- 参照の追加と書かれたフォームから.NETのタグが選択されているのを確認し、コンポーネント名が System とSystem.Drawing、それとSystem.Windows.Formsを4の手順を繰り返して追加します。
- 画面上段のメニューバーから [ プロジェクト(P) ] ⇒[ クラスの追加(C) ...] を選択し、ファイル名にForm1.vbと入力し[ 追加(A) ]ボタンを押します。
- 6の手順を繰り返しますが、ファイル名にはForm1.Designer.vbと入力します。
- これも6の手順の繰り返しです。ファイル名にはEntryPoint.vbと入力します。
- ソリューションエクスプローラーウィンドウの左から2番目のボタンを押し、全てのファイルを表示させます。
1から9までの手順が終わったら、それぞれ以下の様にコードを記述します。
まずは、Form1.Designer.vb からです。このクラスはパーシャルクラスにします。 # コードの1行目に気をつけてください。
Form1.Designer.vb ※ Visual Basic 2005 専用のコードです(VB2003ではダメです。)
Partial Public Class Form1
Inherits System.Windows.Forms.Form
' このクラスのコンストラクタです。
' このクラスがインスタンス化される際に呼び出されるメソッドです。
Public Sub New()
MyBase.New() ' このクラスのコンストラクタからスーパークラスのコンストラクタを(明示的に)呼び出します。
InitializeComponent() 'コンポーネントの初期化メソッドを呼び出します。
End Sub
' このクラスのコンポーネントのインターフェースを保持する変数
Private components As System.ComponentModel.IContainer
' フォームがコンポーネントの一覧をクリーンアップするために Dispose をオーバーライドします。
' マネージリソースが破棄される場合にTrueを破棄されない場合Falseを返します。
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
Try
components.Dispose()
Finally
MyBase.Dispose(disposing)
End If
End Sub
' MEMO : 以下のプロシージャはWindows フォーム デザイナで必要となります。
' このプロシージャの記述はWindows フォームデザイナで変更される際に自動的に更新されます。
' コードエディタを使用してこの内容を変更すると予期しない例外が発生する恐れがあります。
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
components = New System.ComponentModel.Container
'
' Form1
'
Me.Name = "Form1"
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
Me.ClientSize = New System.Drawing.Size(640, 480)
Me.Text = "Form1"
End Sub
End Class
次に Form1.vb にコードを入力するのですが、今回は実は深い意味はありません。( 記述しなくても結構です。) (゚-゚;)ヾ(-_-;) オイオイ ダッタラカクナヨ
Form1.vb < Visual Basic 2005 >
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
End Sub
End Class
今回もう一つの重要なポイントはこのプロジェクトのエントリポイントを記述する事ですので、EntryPoint.vbとあるファイルを選択し、コードを入力します。
EntryPoint.vb < Visual Basic 2005 >
Public Class EntryPoint
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New Form1)
End Sub
End Class
上記のEntryPoint.vb ファイルのPublic Class EntryPoint と記述した上に Imports System.Windows.Forms と記述すれば、
Public Shared Sub Main() から始まるプロシージャ内にある、
System.Windows.Forms.Application.Run(New Form1) とある箇所の System.Windows.Forms.までの記述を省略できます。
最後にデバッグ作業ですが、Sub Main からプロジェクトを動かすためにはもう一つ工程を踏まえなくてはなりません。
以下の手順で、プロジェクト内の Sub Main から起動できるように設定します。
- IDE 画面上部にあるメニューバーから[ プロジェクト(P) ] ⇒最下部の[ (最初につけたプロジェクト名)のプロパティ ] を選択します。
- プロジェクトのプロパティ画面が開きますので、左のタグがアプリケーションになっている事を確認し、スタートアッププロジェクト(O)となっている所のコンボボックスをドロップダウンし、[ Sub Main ] を選択します。
- 全て保存します。
- F5キーを押し、実行してみましょう。Form1の画面が最終的に表示されれば成功です。
いきなりコードを紹介して手順とコードを紹介しましたが、これらにまつわる解説を今後ぼちぼち進めたいと思っています。∑( ゚Д゚ ) エッ!? マダヤルノォォォ…
また、私と同じくわんくま同盟で活動しておられます、 とりこびと さんのBlog が大いに参考となるかも知れません。