プロが教える店舗&オフィスのセキュリティ対策術

VB2008でタブコントロールに貼り付けられたテキストボックス等の移動について悩んでいます。

現在、タブコントロール内にタブが3ページありますが、
1ページ目に貼り付けたコントロール(ラベルやテキストボックスなど)を2ページ目にプログラム的に移動するにはどうすればいいのでしょうか。
デザイナであれば簡単なのですが、プログラムで行おうとすると
「move」に相当するようなものが見あたらず、困っています。

移動したものをプログラム終了後も保存しておく必要は無く、起動時にユーザーの好みのタブに表示させたいという目的で使用するつもりです。

A 回答 (1件)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


  If Me.TextBox1.Parent Is Me.TabPage1 Then
    Call 親変更(Me.TabPage1, TabPage2, Me.TextBox1)
  Else
    Call 親変更(Me.TabPage2, TabPage1, Me.TextBox1)
  End If

End Sub

Sub 親変更(ByVal 元 As TabPage, ByVal 先 As TabPage, ByVal コントロール As Control)
  '元ページからコントロールを引き離す
  元.Controls.Remove(コントロール)

  '先ページへコントロールを登録
  先.Controls.Add(コントロール)
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!
やってみたところ、一度削除してもプロパティとかは失われないようですね。
remove→addでmoveの効果が出ました。
大変助かりました。
早速のご回答ありがとうございました。

お礼日時:2010/02/01 16:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!