下記のように、Form1(メニュー画面)み動的にボタンを配置しました。やりたいこととしては、この動的に配置したボタンをクリックするイベントで別のフォームに遷移するようにしたいです。
ちなみに動的にボタンを配置しているのは、Form1に別にあるボタンクリックイベントでForm1が書き換わる可能性があるためです。
流れとしては、1.Form1立ち上げ2.別にあるボタンクリックイベントで任意のFormに書き換え3.任意のフォーム上にある動的ボタンをクリックしFormを遷移です。
namespace Project { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //動的にコントロールを作成 private System.Windows.Forms.Button buttonAddtion; private void Button_Click(object sender, EventArgs e) { //Buttonクラスのインスタンスを作成する this.buttAddition = new System.Windows.Forms.Button(); //Buttonコントロールのプロパティを設定する this.buttonAddition.Name = "buttonAddtion"; this.buttonAddition.Text = "追加"; //サイズと位置を設定する this.buttonAddition.Location = new Point(500, 400); this.buttonAddition.Size = new System.Drawing.Size(80, 40); //フォームに追加する this.Controls.Add(this.buttonCustomerInformationAddition); //この後、動的に作成したbuttAdditionをクリックすることにより別フォームに遷移したい } } }
> 2.別にあるボタンクリックイベントで任意のFormに書き換え
この意味が分からないのですが
遷移させる先が 例えば SubForm1 SubForm2 SubForm3どれかにかわるということですか?
> 3.任意のフォーム上にある動的ボタンをクリックしFormを遷移
ここはもっと意味が分からないのですが
動的にボタンを追加しているのはForm1にしか見えないのですが、どこからどこにいくのですか??
返信遅くなり申し訳ありません。
Form1は一つしかないのですが、そのForm1の要素(配置されているコントロールなど)が書き換わるということで、この時点では遷移自体は行われません。動的ボタンをクリックすることで、例えばForm1からForm2、Form1からForm3に遷移するというイメージでした。
Form1のボタン等が追加削除されて、デザインが大きく変更されるわけですね。
(まだ動的追加の必要性がわかっていませんが)解決されたようなのでもういいですね^^;
ひとつ
ボタンを削除する場合は、イベントハンドラの登録解除も忘れないようにしてください(リークします)
追加情報ありがとうございます!
回答1件
あなたの回答
tips
プレビュー