2016-01-03 45 views
0

對C#來說很新穎,我正在開發一個WinForms應用程序(一個小遊戲),我希望多個圖片框的行爲相同(不是所有的都是這樣)。環視在線,我想最快的方式是使用標籤和我最初的想法的基礎上,我學到了什麼,就是把他們下是這樣的:通過標記查找多個控件

foreach (??? pb in ???.Find???WithTag("enemy")) 

我的問題是,應該怎樣去代替「???」? Visual Studio既不接受「FindPictureBoxWithTag」也不接受「FindPictureBoxesWithTag」。

+4

容器'Control'有你可以遍歷找到它的直接後裔'Controls'屬性。無論如何,WinForms是一個UI框架。你不應該將你的遊戲邏輯綁定到你的UI。用戶界面應該只是_表示您在業務邏輯中計算的狀態。您可以使用事件和數據綁定將UI綁定到BL上。但我想這剛剛開始時有點太難掌握。 – CodeCaster

回答

7
foreach(var pb in this.Controls.OfType<PictureBox>().Where(p=>p.Tag == "enemy") 
{ 
} 

更換this.Controls與任何集合/容器包含圖片框