質問
VisualStudioを使用してC#でWindowsFormアプリを制作しているのですが、PictureBoxを追加することができません。
以下のスクリプトをどのように変えれば問題を解決できるか教えていただきたいです。
使用しているソースコード
C#
1//PictureBoxを生成する関数 2public void AddCtrl(string txt, int x, int y, string ControlName,bool B) 3{ 4 var EmptyPictureBox = new PictureBox(); 5 EmptyPictureBox.Name = ControlName; 6 EmptyPictureBox.BackColor = Color.Transparent; 7 EmptyPictureBox.Location = new Point(x,y); 8 EmptyPictureBox.Click += new EventHandler(CtrlClickedEvent); 9 10 //Bitmap作成 11 var pic = new src.AutoPicture(); 12 Bitmap canvas= pic.MakePicture(txt);//文字を画像にする関数を使用 13 if (B) 14 { 15 canvas.RotateFlip(RotateFlipType.Rotate180FlipNone);//生成した画像を反転させる 16 } 17 EmptyPictureBox.BringToFront(); 18 EmptyPictureBox.Image = canvas; 19 EmptyPictureBox.Size = canvas.Size; 20 Controls.Add(EmptyPictureBox); 21} 22//.Net Framework 4.7.2を使用
試したこと・確かめたこと
エラーなどは出ておらず、すべての引数に値が代入されていました。
また、意図通りのBitmapが生成されていることが確認できました。
同メソッド内を以下のように書き換えると正常にLabelが生成されました
C#
1{ 2 var mes = new Label(); 3 mes.name = ControlName; 4 mes.text = txt; 5 mes.Location = new Point(x,y); 6 mes.AutoSize = true; 7 Controls.Add(mes); 8}
すでに以下の2つは試しました。
Application.DoEvents();
this.Refresh();
どのようにすればPictureBoxを生成できるか教えていただきたいです。
よろしくおねがいします。
回答1件
あなたの回答
tips
プレビュー