2017-06-01 6 views
0

プロジェクト内のすべてのピクチャボックスのサイズを変更しようとすると問題が発生しました。すべてのピクチャボックスの高さを変更するC#

PictureBoxesは次のように作成されています:ボックスをクリックしたときに

for (int x = 0; x < 2; x++) 
       { 
         string filePath = fileEntries[i]; 
         string fileName = Path.GetFileName(filePath); 
         int index = Array.IndexOf(fileEntries, filePath); 

         PictureBox image = new PictureBox(); 
         image.Text = filePath; 
         image.Top = (int)y * 185 + 8 + 185; 
         image.Left = (int)x * 325 + 9; 
         image.Name = "picbox"; 
         image.Click += picbox_Click; 
         image.Image = Image.FromFile(filePath); 
         image.BackColor = Color.FromArgb(0, 0, 110); 
         image.Height = 181; 
         image.Width = 318; 
         image.Padding = new Padding(2); 
         image.Name = "picbox"; 
         this.Controls.Add(image); 
        } 

はその後、私は、フォーム上のすべてのPictureBoxesの高さ、幅、パディングと名前を変更したいです。現在、私は次のコードを使用しています:

picbox.BackColor = Color.FromArgb(0, 0, 110); 
picbox.Height = 177; 
picbox.Width = 314; 
picbox.Padding = new Padding(0); 
picbox.Name = "picboxnew"; 

これは動作しません、私はこの作品を作る方法を知っていますか?

敬具、

+2

を?ランタイムエラーが発生しましたか?違いは見えませんか?他に何か? – doctorlove

答えて

1

あなたはLINQの使用してそれを行うことができます:あなたはそれがコンパイルされないわけに動作していないことで

var pictureboxes = this.Controls.OfType<PictureBox>().ToList(); 
foreach (PictureBox pb in pictureboxes) 
{ 
    pb.Height = 500; 
    pb.Name = "some_name"; 
    //etc 
} 
+0

ありがとうございました! – josap

+0

興味深い - これはなぜ機能するのですか?OPのコードが機能しないのはなぜですか? – doctorlove

+0

@doctorlove OPが変更しようとしている「ピックボックス」のようなものがないので推測しています... – Nino

関連する問題