tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルForm_Load イベントプロシージャの定義
記事No4654
投稿日: 2006/12/12(Tue) 15:43
投稿者へるぷ・みぃ
環境:
  Microsoft Visual Studio 2005 : Version 8.0.50727.42
  Microsoft .NET Framework     : Version 2.0.50727

Form の Load のイベントを使用する際、
作成の仕方によって、2種類できてしまうのですが、
どちらを使用しても良いのでしょうか?

よろしくお願いいたします。


' コードウィンドウで、コントロール一覧から Form1 を、イベント一覧から Load を選択した場合
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

' デザインウィンドウでフォームをダブルクリックした場合
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

※ 既にどちらかの定義が存在している場合は、
   他方は作成されず、存在している Load イベントが使用されます。
   (つまり、上の2つとも、作成されるということはありません。)

[ツリー表示へ]
タイトルRe: Form_Load イベントプロシージャの定義
記事No4655
投稿日: 2006/12/12(Tue) 18:19
投稿者大吉末吉
> Form の Load のイベントを使用する際、
> 作成の仕方によって、2種類できてしまうのですが、
> どちらを使用しても良いのでしょうか?

MSDNのフォーラムで、こういう議論をやってましたよ。

「イベントハンドラについて 」
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=809992&SiteID=7

参考にどうぞ。

ちなみに

Private Sub Form1_LoadMe(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Private Sub Form1_LoadMyBase(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

の様に、プロシージャ名を変えて両方宣言した場合、両方とも実行されますね。
#つまり、どちらのイベントも発生している。

[ツリー表示へ]
タイトルRe^2: Form_Load イベントプロシージャの定義
記事No4656
投稿日: 2006/12/13(Wed) 09:02
投稿者へるぷ・みぃ
ありがとうございましたo

[ツリー表示へ]