tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルフォームのイベントをユーザーコントロール中でハンドルする方法
記事No10054
投稿日: 2010/04/11(Sun) 16:07
投稿者ひろこ
VB2005

フォームで発生するKeyDown,Resizeのイベントをフォームに貼り付けた
ユーザーコントロールの中で受信することはできないでしょうか。


下記をフォームでなくユーザーコントロールの中にして処理を共通化したいのです。


Private Sub Form_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
    '処理
End Sub

Private Sub Form_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
    '処理
End Sub

[ツリー表示へ]
タイトルRe: フォームのイベントをユーザーコントロール中でハンドルする方法
記事No10058
投稿日: 2010/04/13(Tue) 14:54
投稿者るしぇ
両方のイベントからユーザコントロールのメソッド呼べば済む話じゃないの?

[ツリー表示へ]
タイトルRe: フォームのイベントをユーザーコントロール中でハンドルする方法
記事No10059
投稿日: 2010/04/13(Tue) 16:37
投稿者魔界の仮面弁士
> フォームで発生するKeyDown,Resizeのイベントをフォームに貼り付けた
> ユーザーコントロールの中で受信することはできないでしょうか。

WithEvents なり AddHandler なりで、親フォームのイベントを受け取れば良いかと。

Public Class UserControl1
    Private WithEvents Owner As Form
    Private Sub UserControl1_Load(……
        If DesignMode Then
            Label1.Text = "デザイン時"
        Else
            Me.Owner = Me.ParentForm
        End If
    End Sub
    Private Sub Owner_Resize(…
        'ここに記述
    End Sub
End Class

[ツリー表示へ]
タイトルRe^2: フォームのイベントをユーザーコントロール中でハンドルする方法
記事No10065
投稿日: 2010/04/16(Fri) 11:15
投稿者ひろこ
> > フォームで発生するKeyDown,Resizeのイベントをフォームに貼り付けた
> > ユーザーコントロールの中で受信することはできないでしょうか。

魔界の仮面弁士様

返事遅くなりました。

思った通りのことができました。
これでソースがすっきりしました。

ありがとうございました!

[ツリー表示へ]