• 締切済み

visual basic ラベル等の表示順序(最前面に表示する)の変更について

修士論文の研究結果を反映させるプログラムを作るために、最近visual basicを勉強し始めて、ただ今プログラムを作成中なのですが、 labelやtextboxを表示させる順序の変更ができずに困っています。 具体的に言うと、 ボタン1を押すとラベル1が表示される ボタン2を押すとラベル2が表示される ・ ・ ・ といった内容なのです。それで、それぞれのラベルを少しずらした状態で重ねて表示して、最後に呼び出したラベル等を最前面に表示したのですが、どうしても登録した順にしか表示されません。 (例えば、ボタン1→ラベル1、ボタン2→ラベル2とした場合で、フォームにラベル1をまず作成し、次にラベル2をその上に少しずらして作成したとします、そうした場合にボタン2の処理をした後にボタン1の処理を行うと、ラベル1がラベル2の下に隠れてしまいます。) そこで、最後に操作したボタンの処理で表示されるラベルを最前面に表示する、 もしくは、ラベルをクリックすると最前面に表示させたとした場合には、どのようなプログラムを書けばよいのでしょうか? 上手くまとまっていなくてすみません。 修論の提出が来月半ばと少し焦っています。 どうぞ宜しくお願いいたします。

みんなの回答

  • LOHA
  • ベストアンサー率52% (203/388)
回答No.1

良く分かりませんがこんなイメージ(画像参照)ですかね。 でもこんなことするくらいでしたらラベルのTextを書き換えたほうが楽なような気もしますが…。

tadae3
質問者

お礼

ありがとうございます! まさにこのイメージです!! いろいろ本を見てみたのですが、調べ方が悪いのか中々見つからなくて・・・。 本当に助かりました。

関連するQ&A

  • 操作するラベルを動的に変化させたい

    Label1~Label10のラベルがあり ボタンを押すと1~10までの乱数が発生し 対応したラベルの表示が変わるというプログラムを作っています。 以下のようなswitch文で、1の場合はLabel1、10の場合はLabel10、という風にはできるのですが そうではなく、Labelという文字列に乱数をひっつけてそれを操作ラベル名としたいのですが、やりかたが分からなくて困っています。 switch(乱数){ case 1: Label1->Text = "Hello, World!"; break;         ・         ・         ・ case 10: Label10->Text = "Goodbye, World!"; break; } どなたかアドバイスをよろしくお願い致します。

  • Visual Basic の平方根について

    Visual Basic を用いて、TextBoxから入力した 数字について、ボタン1を押すと平方根を求め、Labelに書き出し、 ボタン2を押すとリセットされるプログラムを 作りたいのですが、全くわかりません。 コピペしたらプログラムが動くコードを教えてください。 お願いします。

  • visual basicについて、質問です。

    visual basicについて、質問です。 あまり理解できていないので下記の問題ですら解けない状態です 参考書などでも調べましたが、分かりませんでした。 問題は.次のようなプログラムを作成せよ。 (Text×1、Label×2、Button×5) oフォーム内に、「牛丼 600円」「かつ丼 700円」「たまご丼 500」「みそ汁 100円」の四つのボタンを作成せよ。 oさらにフォーム内に、合計金額を表示させるラベルと、支払金額を入力するテキストボックスと、清算用ボタン、おつり表示用のラベルを作成せよ。 o各商品のボタンを押せば、合計金額(初期値は0)に足されるようにせよ。 o支払金額を入力後に清算用ボタンを押せば、おつりが表示されるようにせよ。 といった内容です。 よろしくお願いします。

  • labelを前面に出したい

    vb6で座標平面を作成するプログラムを作っています。lineやlabelを配列で設置しましたが、 lineが前面に出てしまい、とても見づらいものになってしまいました。labelを前面に出すにはどうしたらよいでしょうか。 (1)lineコントロールを配置し、index=0 (2)labelコントロールを配置し、index=0 (3)(1)と(2)が重なるようにします(label1(0)が前面に出ています)。 (4)以下を実行します Private Sub Form_Load() Form1.ScaleMode = 3 Label1(0).FontSize = 15 Label1(0).FontBold = True Line1(0).BorderWidth = 2 Line1(0).BorderColor = &H80000005 Load Line1(1) With Line1(1) .X1 = 100 .X2 = 100 .Y1 = 0 .Y2 = 200 .Visible = True End With Load Label1(1) With Label1(1) .Left = 98 .Top = 80 .Visible = True End With End Sub (5)label(1)が背面になります。

  • ラベルが表示されない

    Visual Basic 2010 Express windows7 Pro ボタンをクリックしたときに、まずラベルに表示させ、 Label1.Text = "実行中です" Shell("cmd /c @echo aaa > sss.txt", AppWinStyle.Hide, True) ・ ・ 複数のコマンドプロンプトを実行 ・ Shell("cmd /c @echo aaa > sss.txt", AppWinStyle.Hide, True) Label1.Text = "終了しました" 終わったら、またラベルに表示させたいのですが、実行中が表示されず 終わった時の終了しましたしか表示されません。 実行している時間は1分以上あるので、終了まで時間が短すぎてすぐ消えている訳ではありません。 実行中の次の行に MsgBox("テスト")として、動作が止まると、ラベルに実行中と表示されます。 止めずに実行中と表示させる方法はあるでしょうか?

  • XPが私のラベル文字を表示してくれないのです???

    C# ラベルに文字を表示し、そのラベルごと画面イメージ全体を取込みます 取込みが終ったらラベル文字を消去し、先に取込んだ画面イメージをPictureBoxに表示します PictureBoxには『これが画面に表示されます』と表示されたラベルも含めて画面イメージが映っております Windows7、Vistaでは確認したらOKでした //label1のプロパティ label1.Text には空白、Visibleにはfalseが設定されています Bitmap ScreenSaving = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height); //画面サイズの領域を用意します label1.Text = "これが画面に表示されます"; label1.Visible = true; this.TopMost = true; Graphics g = Graphics.FromImage(ScreenSaving); //Graphicsの作成 g.CopyFromScreen(new Point(0, 0), new Point(0, 0), ScreenSaving.Size); //画面全体をコピーする g.Dispose(); label1.Text = ""; //画面コピー後に直ちにに消去 pictureBox1.Image = ScreenSaving; //コピーした画面を表示 ところがXPで同じプログラムを実行するとPictureBoxのラベルは空白のままです 画面をジッと直視していると画面が一瞬チラリと動きます 文字自体は肉眼では読取れませんが、チラリとしたのでラベルは表示されているのでしょう では何故XPはラベルを表示した状態の画面を読取らないのでしょうか? Windows7、VistaとXPでは画面表示のタイミング等々に差あるのでしょうか? XPで瞬間的に表示したラベルを画面から読取るにはどうしたら良いのでしょうか? ご指導宜しくお願い申し上げます 追伸】上述の『同じプログラムを実行する』とはVisual Studioでインスローラを作り、それをセットアップしました Windows7、Vista、XPで別々にビルドした訳ではありません

  • Visual Sutudio 2003で、文字を反転させるプログラムが正しく動きません。

    Visual Sutudio 2003で、困っています。 TextBox1に、文字を入力してButton1をクリックすると、入力された文字が反転されてLabel3に、表示されるプログラムを作ってみたのですが、上手く動きません。 例えば、「TextBox1」と入力してボタンをクリックすると、「1xoBtxeT」と表示させたいのですが、「1ote」と一文字置きに表示されてしまいます。 「Button1をクリックした時のプログラム」 Dim moji, kekka As String Dim i As Integer Label3.Text = "" moji = TextBox1.Text Label3.Text = moji.Substring(moji.Length - 1, 1) For i = 2 To moji.Length  Label3.Text &= moji.Substring(moji.Length - i, 1)  i = i + 1 Next End Sub 正しく表示させるには、どうすればいいのでしょうか?分かる方、宜しくお願いします。

  • Visual Basic 6.0でのLabelについて質問です。

    Visual Basic 6.0でのLabelについて質問です。 今、Labelが100個あるとして、 どのラベルが押されても同じ処理をさせたい場合、どのようにプログラムを組めばよいかわかりません・・・ そこで、 Private Sub Label2_Click() Label1.Caption = "停止" End Sub Private Sub Label3_Click() Label1.Caption = "停止" End Sub Private Sub Label4_Click() Label1.Caption = "停止" End Sub    ・    ・    ・ Private Sub Label101_Click() Label1.Caption = "停止" End Sub のように100個繰り返しても良いのですが、だらだら長くなってしまうので、スマートに 処理できる方法を探しています。 もしご存知の方がいらっしゃいましたら教えていただけないでしょうか? よろしくお願いします。

  • MFCダイアログボックスを最前面に表示

    MFCでダイアログを表示するアプリを作成しようとしています。 そこでダイアログボックスを表示させたときに最前面に表示させる方法を教えていただきたいと思ってます。 ボタン押下でダイアログ表示させるのではなく、IPメッセンジャーのようにタスク常駐していてネットワーク上からのトリガーでダイアログを表示させようとしています。 ダイアログが表示されたときに、他のプログラムを起動している場合でも、クリック等をしても、他のウィンドウの下に隠れないようにしたいと思ってるのですが、可能でしょうか。 つまり、そのダイアログが表示されている間は何をしても最前面に表示させておきたいのです。 なにとぞよろしくお願いいたします。 補足が必要でしたら、おっしゃってください。よろしくお願いします。

  • cgiで表示するhtmlの特定ラベルに、html表示と同時にジャンプさせたい

    hogehoge.html#label1 のように記述されたhtmlをcgiを使って表示させたとき、その表示と同時にラベル(#label1)にジャンプさせたい場合はどうすればよいか教えてください。 URLを入力するのでしたら、 http://myServer.ne.jp/~me/hogehoge.html#label1 でよいのですが、 http://myServer.ne.jp/~me/dispHoge.cgi と入力するので困っています。

    • ベストアンサー
    • Perl

専門家に質問してみよう