2012-01-25 4 views
0

ちょっとC#Windowsフォームアプリケーションの宿題に関する助けが必要です。私が10ピクチャボックスの配列を持っていて、それらが "pic0"、 "pic1"という名前を持っていたとします。私はforループでコード内で呼び出す必要があり、それが私の問題です。私はこれをひどく説明して申し訳ありませんが、私が試したコードを試してみるつもりです。私はループの中でやろうとしています何ループで画像を呼び出す

for(int i=0;i<Array.Length;i++) 
{ 
    ("pic" + i).Visible = true; 
} 

は、ループですべてが見えるように、配列をループしています。 問題は私が( "pic" + i).Visibleが呼び出すとは思わないということです。助言がありますか?

+0

この質問がどれほどシンプルだったのか、私は今すぐにパースしています。みんな、ありがとう。 – user1033065

+0

以下の正解が見つかった場合は、それをマークしてください。他のユーザーがあなたと同様の問題を抱えているときに正解を特定するのに役立ちます –

答えて

1

名前の代わりに配列を使用します。配列の各要素は、Visibleプロパティを設定できるPictureboxになります。

for(int i=0;i<someArray.Length;i++) 
{ 
    someArray[i].Visible = true; 
} 
0

あなたが画像ボックスの配列を持っていた場合さて、あなたは配列の要素を反復処理(おそらくピクチャ要素のではなく、自分の名前の配列である)、各要素のVisibleプロパティを設定することができます。あなただけの(文字列の)配列内の名前を持っている場合は、あなたに、その後、しかし

// again, yourArray is an array of PictureBox elements: PictureBox[] yourArray 
foreach(PictureBox element in yourArray) 
{ 
    element.Visible = true; 
} 

// assuming yourArray is the array holding your PictureBox elements 
for(int picBoxIndex = 0; picBoxIndex < yourArray.Length; picBoxIndex++) 
{ 
    yourArray[picBoxIndex].Visible = true; 
} 

のPictureBox要素の配列を反復処理する別の方法は、このようなforeach文を使用することです別のことをする必要があります。

0

("pic" + i)はコンパイルされていない可能性もあります。コンパイルしていない場合は、おそらくタイプstringのオブジェクトを返します。

タイプstringのオブジェクトには、Visibleプロパティがありません。

必要なWindowsフォームコントロールを見つける方法が必要です。実際には、配列内にすでにすべてのオブジェクトがあります。

foreach (Control control in array) { 
    control.Visible = true; 
} 
関連する問題