• ベストアンサー

VC#2010でフォーム内容の切り替え

「これからはじめる~」的なテキストを終えたばかりの超初心者です。 メニューに「表示」項目をつくり、その中のサブメニュー「閲覧」「登録」「編集」などを選択すると、同じフォーム内で表示内容だけ切り替わるフォームをつくりたいのですが、やり方がわかりません。 ユーザーからみて「同じフォームであるように見える」状態であれば、プログラム内で別のフォームを使っていてもかまいません(ただし、フォームの大きさなど、外見に関する設定がすべて維持されている必要があります)。簡単なやり方があったらご教示ください。 よろしくお願いします。

  • pouta
  • お礼率72% (61/84)

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

  • ベストアンサー
回答No.1

パネルを使ってはどうでしょう? 必要な数だけパネルを作り、フォームに直接ラベルなどのコントロールを張るのではなく、 各パネルに貼るのです。 それぞれ必要なときに表示するように制御します。 メニュー以外では、タブ切り替えを使う方法もあります。

pouta
質問者

お礼

やりたかったのはまさにこれです! ありがとうございます。

関連するQ&A

  • VBAでユーザーフォームのcaption表示

    VBAを初めたばかりです。 VBAでユーザーフォームを作成したのですが ユーザーフォームプロパティのcaptionで入力しても 下記プログラムで入力しても表示されません。 VBA作成時の画面にはしっかりと「項目」と 表示されていますが、プログラムを実行してユーザーフォームを 呼び出すと何も表示されていません。 ご教授ください。 Private Sub UserForm_Initialize() UserForm1.Caption = "項目" With ListBox1 .AddItem "1" .AddItem "2" End With End Sub

  • エクセルでフォームのキャプションを取得したいのですが・・・

    ユーザーフォーム1と2、二つのフォームがあります。 ユーザーフォーム1にテキストボックスが5つあったとして それぞれのテキストボックスにエンターしたときに ユーザーフォーム2を表示させるのですが、 そのときにテキストボックスのControlTipTextを ユーザーフォーム2のCaptionとして表示するには どうすればよいのでしょうか。 Private Sub UserForm_Initialize()で UserForm2.Caption = UserForm1.ActiveControl.ControlTipText としてみましたがだめでした。 例えばフォーム1上のテキストボックス1のControlTipTextが "AAAAA"だとして、テキストボックス1が選択されたとき(Enter)、 表示されたフォーム2のタイトルバーはAAAAAと表示。 同じ要領でテキストボックス2の場合はテキストボックス2の ControlTipTextを表示させる。 取り急ぎ乱文ですが宜しくお願いします。

  • Excel ユーザーフォームのコンボボックスについて

    始めまして、マクロに関してはまだまだ勉強中なのですが、ユーザーフォームのコンボボックスについてつまづいてしまい、皆さんにご教授頂ければと思います。 一つユーザーフォームを作成後、そのフォーム内にコンボボックスを配置し、リストから項目を選択できるようにしたいと考え下記のように記述したのですが、ユーザーフォームを実行してもフォームは表示されてきますが、ボックスを選択してもリストに項目が表示されてきません。 Private Sub cmd入力_Click() End Sub Private Sub 選択グループCombo_Change() With 選択グループCombo .AddItem "初級" .AddItem "中級" .AddItem "上級" Private Sub cmd閉じる_Click() Unload Me End Sub この記述自体が間違っているのでしょうか。 宜しくお願いします。

  • 少々複雑なフォームのコーディング

    質問をお願い致します。 ただ今少し複雑なフォームのコーディングをしております。 Javascriptを使って構築したいと思っています。 1.プルダウン 選択肢1を選ぶ⇒プルダウン2が表示され小項目を選択 選択肢2を選ぶ⇒プルダウン2は表示されない 選択肢3を選ぶ⇒プルダウン2が表示され小項目を選択 選択肢4を選ぶ⇒テキストボックスが表示され、テキストを入力できる 2.チェックボックス⇒テキストボックス チェックを入れる⇒テキストボックスが出現 チェックを外す⇒テキストボックスは消える 初心者のため、どなたがご教示頂けますと助かります。 どうぞよろしくお願い致します。

  • access フォーム1からレコードコピー

    access2003 Win-XP フォーム1   データ1  コマンドボタン   データ2  コマンドボタン フォーム2   テキスト  フォーム1のデータを選択してコマンドボタンをクリックし、次のデータも選択クリックして  フォーム2のテキストへ書き出す。ここへは追加され、複数のデータが書き込まれるように  したいと考えています。 1つのデータを選択書き出しなら  Private Sub コマンドボタン_Click() forms![フォーム2]![データ項目] = Me.データ項目  End Sub  これでできますが、テキストにどんどん追加するにはどうすればいいでしょうか? VBの未熟者です。宜しくお願いします。  

  • C# 別なフォームへ値を渡す (初心者です)

    メインのフォームからサブのフォームを呼び出して、 サブのフォ-ムからさらにクラスを呼び出し、 クラスからメインのテキストボックスのテキストに書き込むプログラムを作成中です。 ですが、テキストボックスがパブリックにも関わらず、表示されません。 デバックで見る限り、テキストボックスのテキストには値が入っているのですが、 フォームを見ると表示されていません。 知恵をお貸しください。

  • ユーザーフォームのスクロールについて(エクセル2000VBA)

    お世話になります。 上下に長いユーザーフォームを作成し、スクロールして使っています。 1~4まで項目があり、ボタンをクリックするとその項目の先頭まで自動的にスクロールするような仕組みを作りたいのですがどうしたらよいでしょうか? Private Sub CommandButton1_Click()  TextBox1.SetFocus  '項目の先頭にあるテキストボックスに移動する End Sub という風なコードはできたのですが、ボタンの位置よりテキストボックスが下にあると、フォーカスしたテキストボックスがユーザーフォームの一番下に表示されてしまいます。 また、上方向にいく時も、テキストボックスの1行上に配置してあるタイトル(ラベルで作成しました)が表示されないので少し不便な気がします。 例えば、FAQサイトによくあるような、目次をクリックするとその項目が一番上に表示され、「Top」をクリックしてページ先頭にジャンプするような感じにしたいのですが…。 よろしくお願いします。

  • エクセル97でのユーザーフォームについて

    エクセル97でのユーザーフォームについて教えて下さい (1) まず最初にユーザフォームを作成しました。 (2) エクセルオープン時にメニューバーにボタンを追加し、そのボタンを押すと   ユーザーフォームが表示されてくるという風に考えました。 ユーザーフォームは表示されるのですが、フォームに配置されているボタン等を 押してもまったく利きません(本来はメッセージが表示される) アクティブにはなっているようなのですが... Private Sub UserForm_Activate() End Sub 上のアクティブになった時に何か処理をもりこまなければいけないのでしょうか? 初歩的な質問で申し訳ないのですが、宜しくお願い致します。

  • Access フォームを動的にカスタマイズ

    お世話になります。 Access2010 現在Accessにて、ある情報の登録フォームを作成しております。 登録項目が複数ありフォームが縦長になりそうなので、基本情報の 登録は必須とし、その他の項目はオプションにしたいと思います。 そこで、チェックボックスにチェックが入れられたら、オプションを 登録できるよう登録フォームの高さを長くするのと同時に、オプション 項目も表示させたいのですが。。どのようにすればよいでしょうか。 予めオプション項目が追加されているフォームを作成しておき、 チェックが入れられたら、そっちのフォームにすり替える方法(必須項目が 入力されていたらそれぞれコピー)や、フォームサイズは変えずに チェックが入れられたら「登録」ボタンを「次へ」に変更させ、 次画面でオプション項目を入力させたり・・色々と方法はあるかと 思いますが、上記のようにフォームの長さを変えて、項目(テキストボックスや リストボックス)を追加することは可能でしょうか。 ご教示の程、宜しくお願い致します。

  • エクセルのユーザーフォーム表示について

    ユーザーフォームを作成して、ワークシートのデータを帳票形式に表示しています。 これを閲覧だけ可能にして、ユーザーフォームから編集できないようにするにはどのようにすればよいのか教えて下さい。

専門家に質問してみよう