投稿日 | : 2007/03/13(Tue) 10:51 |
投稿者 | : ムキア |
Eメール | : |
URL | : |
タイトル | : Re^6: ユーザコントロールを動的に作成 |
> > 度々すいません。
> >
> > ユーザコントロール1を表示してからユーザコントロール2を表示させる際、
> > UserControl1.Visible=False ではなくアンロードさせたい場合、
> > なにか手はあるのでしょうか。
> 横から失礼します;
> Option Explicit
> 'Form1:
> '1 ユーザコントロール UserControl1 及び UserControl2 をプロジェクトに追加
> '2 プロジェクトのプロパティで、使用しないActiveXコントロールについての情報を削除する をオフに
> '3 実行
> Private WithEvents btn As CommandButton
> Private WithEvents ctl As VBControlExtender
>
> Private Sub Form_Load()
> 'ボタンを追加
> Set btn = Me.Controls.Add("VB.CommandButton", "btn")
> With btn
> .Move 0, 0, 1000, 1000
> .Caption = "Click"
> .Visible = True
> End With
> End Sub
>
> Private Sub btn_Click()
> Static flag As Boolean
>
> 'コントロールを削除
> On Error Resume Next
> Call Me.Controls.Remove("ctl")
> On Error GoTo 0
>
> 'コントロールを追加
> If flag Then
> Set ctl = Me.Controls.Add("Project1.UserControl1", "ctl")
> Else
> Set ctl = Me.Controls.Add("Project1.UserControl2", "ctl")
> End If
> With ctl
> .Move 0, 1000, 1000, 1000
> .Visible = True
> End With
>
> flag = Not flag
> End Sub
>
> 多分こんな感じです
動作確認問題なく出来ました。
ありがとうございました。