2009-08-19 58 views

回答

7

儘管控件出現在容器內(作爲TabControl),但它們都在窗體上定義,因此無需通過容器訪問它們。

相反的:


tablControl1.TabPages[0].MyContainedControl... 

只需輸入:


MyContainedControl... 
+2

哦哈哈。你是天才。謝謝。 :d – 2009-08-19 01:59:16

7

除非你已經設置GenerateMember爲false圖片框或正在構建的形式動態,你應該能夠引用圖片框由其名稱:

pictureBox1.ImageLocation = "..."; 

否則,假設圖片E盒是第一個選項卡頁面的第一控制,你可以使用Controls集合:

var picBox = (PictureBox) tabControl1.TabPages[0].Controls[0]; 
picBox.ImageLocation = "..."; 

如果你知道恰好有一個圖片框的地方,但你不知道它的上或在該網頁上的哪一頁你可以使用Linq:

var picBox = tabControl1.TabPages.Cast<Control>() 
    .SelectMany(page => page.Controls.OfType<PictureBox>()) 
    .First(); 
picBox.ImageLocation = "..."; 
相關問題