DOBON.NET DOBON.NETプログラミング掲示板過去ログ

フォーム上でボタンやラベルなどのオブジェクトの表示の切り替え。

環境/言語:[WindowsXP VB.NET )、.NET Framework1.1]
分類:[.NET]

はじめまして、かつおと申します。
最近、Visual Basic.NETをはじめました。
初心者本や、いろいろなWebを見て勉強しているんですが、

ボタンなどを押して、新しいフォームを開かずに、
最初に開いたフォームで、ラベルやテキストボックスの配置を変えたいのです。
ちょうど、Windowsで何かをソフトをインストールするときに
次へというボタンを押すと次のページの内容が表示される。
ああいうものを作りたいんですが、どうしたらいいのでしょうか。

いろいろ検索もしてみたのですが、
上手く検索できていないのか見つけられませんでした。
Visual Basicにはそういった機能はできないんでしょうか?
もしできたら教えてください。よろしくお願いします。
話が違うかもしれませんが、代入でいけるのではないでしょうか?
例えば、ラベルに文字列"あいうえお〜〜〜〜"があったとして、
それを次へのボタンを押されたら、ラベルの文字が変わるって言うのではどうですか?
想像しているのと違ったらすいません。
ありがとうございます。
ラベルの文字とかを切り替えるのは置き換えてできたんですが、
ボタンとかを表示しなくしたりしたいんです。
同じフォーム上で全く違ったオブジェクト(ボタンとか)を
表示したいんです。
上手く説明できなくてすいません。
したい事は分かるのですが、なかなか力になれなくて、すいません。
配置を変えるだけなら、分かります。
新しいオブジェクトを配置するのは分かりませんが。
ですが、さも新しいオブジェクトを配置したかの用に見せる事は出来ます。
例えば、ボタンを配置して、クリックするとイベントが発生するのをします(次へ)の奴
で、以下のコードを記述します。
this.button1.Location = new System.Drawing.Point(150, 140);
this.button1.TabIndex = 0;
this.button1.Text = "だよだよ";
これを応用すれば、多分想像しているものが作れると思います。
#説明下手かなぁ
コードの説明を忘れていました。
this.button1.Location = new System.Drawing.Point(150, 140);//150,140は配置する場所を表します
this.button1.TabIndex = 0;//よく分からないけど、まあ必要
this.button1.Text = "だよだよ";//ボタンに表示する文字列を設定。
さっそくやらせていただきました^^
ありがとうございます。
できました。
ボタンをクリックしたら変化できるようになりました(。・_・。)ノ

新しく配置するのはどうしたらよいのだろう。
最初に表示していないとできないのかなぁ。
恐らく最初に表示しないとできないでしょう(初心者なんで分かりませんが)。
理由として、
private System.Windows.Forms.Button ボタンのName;
を宣言しないと、ボタンは表示されないし、これを宣言すると、強制的にボタンが表示されるからです。
もし、これを宣言せずやると、...の定義がありませんとでるからです。
//間違っていたら、指摘して下さい。
なるほど。わかりました。ありがとうございます¥^^
後先考えずに表示するだけならば次のようにできます。

Button btn = new Button();
btn.Text = "ボタン";
btn.Location = new Point(0, 0);
btn.Size = new Size(100, 20);
this.Controls.Add(btn);

ボタンをいくつも作るようであれば、作成したButtonオブジェクトをコレクションのフィールドにでも入れておけばよいでしょう。
なるほど。ありがとうございました^^
それでやってみます。
解決済み!
いまさらですが、ウィザードダイアログのようなことを行いたいのであれば、ページ数だけPanelを用意し、それぞれに適当なコントロールを配置し、「次へ」ボタンが押された時に今まで表示していたPanelを隠し、次に表示するPanelを表示するようにすればそれなりのものはできそうですが。

DOBON.NET | プログラミング道 | プログラミング掲示板