投稿日 | : 2007/03/12(Mon) 17:00 |
投稿者 | : ガッ |
Eメール | : |
URL | : |
タイトル | : Re^5: ユーザコントロールを動的に作成 |
> 度々すいません。
>
> ユーザコントロール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
多分こんな感じです