• ベストアンサー

タブコントロールに貼り付けられたコントロールの移動

VB2008でタブコントロールに貼り付けられたテキストボックス等の移動について悩んでいます。 現在、タブコントロール内にタブが3ページありますが、 1ページ目に貼り付けたコントロール(ラベルやテキストボックスなど)を2ページ目にプログラム的に移動するにはどうすればいいのでしょうか。 デザイナであれば簡単なのですが、プログラムで行おうとすると 「move」に相当するようなものが見あたらず、困っています。 移動したものをプログラム終了後も保存しておく必要は無く、起動時にユーザーの好みのタブに表示させたいという目的で使用するつもりです。

  • namun
  • お礼率70% (12/17)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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

namun
質問者

お礼

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

関連するQ&A

  • タブコントロールについて

    VB2008でフォームにタブコントロールを配置しました。 このタブの、ページ1にテキストボックスを作成しました。 当然ですが、 ページ2に切り替えた時には、テキストボックスが表示されません。 このテキストボックスを、どのページに切り替えた時でも表示するにはどのようにすれば良いのでしょぅか。 よろしくお願いします。

  • タブコントロールのオブジェクトのコピーについて

    VB初心者です。 現在、勉強をかねて簡単なアプリを作成しているのですが、 タブコントロールについてわからない点があるので、 もしお分かりでしたら教えてください。 現在行なおうとしていることは、 アクセスから取得してきたデータをタブコントロールに表示するということで、 データのレコード数分、タブを追加して表示させたいんです。 デザイナでページ数が1のタブコントロールを作成して、 コードで必要なだけページを追加するところまではできたのですが、 デザイナで作成したページに配置したテキストボックスなどのオブジェクトを、 新しく追加したページにコピーする方法がわからないんです。 そもそも、そういうことができるのかすらわからないのですが・・・ 初心者なのでかなり的外れな質問になっているかもしれませんが、 もしおわかりでしたら、よろしくお願いいたします。

  • タブコントロールについて教えてください

    VB.net2003で開発しています。 タブコントロールを使用してメニュー画面を作成したいと考えています。 処理ごとにタブを分けて各タブ毎にボタンを貼り付けて、ボタンをクリックしたら該当のプログラムが起動するようにしたいのです。 1つのタブに最大30個のボタンを作成するので、コントロール配列を使用して、動的にボタンを貼り付けようと思うのですが個々のタブのページにコントロールを貼り付ける方法が分かりません。 色々調べた結果パネルコントロールなどでは、Panel.Control.AddRange(配列名)でパネルにコントロールを貼り付けることが出来るみたいなので、同じような感じで、testTab.Tabpages(i).Control.AddRange(配列名)としたのですが、うまくいきませんでした。 タブコントロールにコントロールを貼り付ける方法を教えてください。 よろしくお願いします。

  • ACCESS タブコントロールについての質問です。

    ACCESS タブコントロールについての質問です。 宜しくお願いします。 3つのタブがあり、入力するのは常に3つのうちのどれか1つのタブです。 それぞれのTAB内はテキストボックスのみです。 そこで、 毎回このタブコントロールを含むフォームを開いたときに、テキストボックス にテキストが入力されたタブが表示された状態にしたいのですが。 初心者です。 どのようなプロシージャーを入力すればよいのかご教授頂けないでしょうか。 ちなみに タブコントロール名 : TAB1 フォーム名:100 FM record ACCESS 2003 宜しくお願いします。

  • コントロールのグループ化

    VBってコントロールのグループ化はできますか? ラベルとテキストボックスをくっつけて、一緒に移動できるようにしたいのですが どこからグループ化すればいいかわかりません。 CTRLボタンを押しながら、二つのコントロールをクリックするところまでは出来ました!

  • アクセス2007のタブコントロールで教えてください

    アクセス2007を勉強中です。よろしくお願いします。 フォームでの質問です。 タブコントロールを使用し、1件のデータにつきページが2ページになっています。 その状態で、1ページ目に新しい連結テキストボックスを作ったところ、そのコントロールが1ページ目と2ページ目の両方に出てしまいました。透けたように同じところに見えます。 1ページ目だけで表示したいのですが、どうやったら良いのでしょうか? うまく説明できなくて、わかりにくい説明で申し訳ございません…。 よろしくお願いします。

  • Access2003 タブコントロールについて

    フォームの詳細にタブコントロールを配置して、 その中にサブフォームを入れています。 そのサブフォームにあるテキストボックスの文字を レポートのテキストボックスに表示させたいです。 ただのフォームなら =Forms!フォーム名!テキストボックス名 でレポートに表示できますがタブコントロールがある場合は レポートのテキストボックスのコントロールソースに どういうふうに記述すればよいのでしょうか? よろしくおねがいします。

  • Access2000 タブコントロール テキストボックス

    数個あるタブコントロールの内、ひとつの手部コントロールに対して テキストボックスを追加したところ、全てのタブコントロールにテキストボックスが追加適用されてしまいました。 タブコントロールとなっている状態でテキストボックスを 配置した事が原因になるようですが、そもそもそれを確認する為の タブコントロールのプロパティが出てきません。 何が問題でしょうか? ご教授頂ければと存じます。

  • タブコントロールについて

    お世話になっております VB.NET 2010 Windows7 Windowsフォーム画面の開発をしています タブコントロールについてです 現在、タブページを使用しており、1ページ目で検索、2ページ目に検索結果一覧、3ページ目で詳細が見れるようになっています 1ページ目に検索条件を入れ2ページ目のタブを押すと、入力ミスがあったら2ページ目に遷移せずに入力ミスしたコントロールの場所にフォーカスが飛び、正常なら検索され2ページ目に遷移します ここで質問なのですが、今現在TabControl.Selection イベントに入力チェック、検索処理を書いています 入力チェックでミスがあった場合にタブページを移動しないこと、1ページから2ページ遷移で検索処理を起こすため、次のタブページを検知しなければいけないからです ですが、入力ミスが起こった際、フォーカスが入力ミスした項目に飛びません 1ページ目の最初の項目に飛んでしまいます おそらく、タブページ移動(2ページ目に飛ぶ)→入力ミスでフォーカス移動→タブページ移動キャンセル(2ページ目から1ページ目に飛ぶことでタブコントロールにフォーカス移動)→タブページの次の項目 となっていると思われます DeSelectingイベントに入れると、入力ミスした際にエラーのある項目に飛ぶのですが、そうすると2ページ目に移動しようとしたのか、3ページ目に移動しようとしたのかが分からなくなってしまいます 押したタブページが検知でき、なおかつキャンセルされたときにフォーカスが移動できるような方法ありますでしょうか よろしくお願いします

  • ASP.NET 動的コントロールのフォーカス移動

    ASP.NET(VB)で開発しています。 Page_init時に生成されるテキストボックス1、2(動的コントロール)を表示します。 テキストボックス1のテキストチェンジイベント時に テキストボックス2にフォーカスが移動するようにしたいです。 テキストチェンジでPostBackが発生し、サーバ側でテキストボックス2.Focus() と記述しているのですが、動作は、テキストボックス2に フォーカスが移らず、画面上のどこにもフォーカスがあたっていない状態になってしまいます。 動的コントロールへ、PostBack時にフォーカス移動させるにはどうしたら良いか お願いいたします。

専門家に質問してみよう