2012-03-20 10 views
0
private void newThumbNail(int docType, string fileName) 
     { 

      thmbNail[thmbNailCnt] = new GroupBox(); 
      thmbNail[thmbNailCnt].Parent = panel1;    
      thmbNail[thmbNailCnt].Visible = true;    
      thmbNail[thmbNailCnt].Location = new Point(2, 5); 
      thmbNail[thmbNailCnt].Size = new Size(222, 50); 



      picBox[thmbNailCnt] = new PictureBox(); 
      picBox[thmbNailCnt].Parent = thmbNail[thmbNailCnt]; 
      picBox[thmbNailCnt].Visible = true; 
      picBox[thmbNailCnt].Location = new Point(6, 13); 
      picBox[thmbNailCnt].Size = new Size(31, 31); 
      //picBox[thmbNailCnt].Image = new Bitmap("images/excel.png"); 

      texBox[thmbNailCnt] = new TextBox(); 
      texBox[thmbNailCnt].Parent = thmbNail[thmbNailCnt]; 
      texBox[thmbNailCnt].Visible = true; 
      texBox[thmbNailCnt].Location = new Point(53, 24); 
      texBox[thmbNailCnt].Size = new Size(163, 20); 
      texBox[thmbNailCnt].Text = fileName; 
      texBox[thmbNailCnt].Enabled = false; 

      Controls.Add(thmbNail[thmbNailCnt]); 
      Controls.Add(picBox[thmbNailCnt]); 
      Controls.Add(texBox[thmbNailCnt]); 


     } 

これはパネル内にいくつかのコントロールintを持つgroupBoxを動的に追加する関数です。残念ながら、パネル内には表示されません。パネルは、C#デザインツールを使用して手作業で作成されました。これは、279,489のサイズを持つ15,52のウィンドウ形式の上に直接配置されます。助けてください。パネル内にコントロールを配置するには

答えて

3

これらのコントロールをフォームコントロールコレクションに追加しているようです。
代わりに、あなたは、パネルは以下のようにコレクションを制御し使用する必要があります。

panel1.Controls.Add(thmbNail[thmbNailCnt]); 
    panel1.Controls.Add(picBox[thmbNailCnt]); 
    panel1.Controls.Add(texBox[thmbNailCnt]); 
0

読むために迅速かつ簡単にあなたのコードを作るためのヒントもPanel.Controls.Add(thmbNail [thmbNailCnt])

を試してみてください。

// Not modified to use Panel.Controls.Add() 
GroupBox box = new GroouBox(); 
thmbNail[thmbNailCnt] = box; 
box.Parent = panel1;    
box.Visible = true;    
box.Location = new Point(2, 5); 
box.Size = new Size(222, 50); 
関連する問題