2009-08-19 4 views

ответ

7

Хотя элементы управления отображаются внутри контейнера (в виде TabControl), все они определены в форме, поэтому нет необходимости обращаться к ним через контейнер.

Вместо:


tablControl1.TabPages[0].MyContainedControl... 

Просто введите:


MyContainedControl... 
+2

Oh lol. Ты генишься. Благодарю. : D –

7

Если вы не установите GenerateMember ложь на поле изображения или вы создаете форму динамически, вы должны быть в состоянии ссылки блок изображения по его названию:

pictureBox1.ImageLocation = "..."; 

В противном случае, при условии, что изображение е окно является первым элементом управления в первой закладке вы можете использовать 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 = "..."; 
Смежные вопросы