如何访问TabControl选项卡内的控件?

这就是我到目前为止所做的一切。

tabControl1.TabPages[0].??? 

我的TabControl的TabPage1里面有一个PictureBox。

如何使用代码而不是属性窗格更改图像位置?

尽管控件出现在容器内(作为TabControl),但它们都在表单上定义,因此无需通过容器访问它们。

代替:

 tablControl1.TabPages[0].MyContainedControl... 

只需输入:

 MyContainedControl... 

除非您在图片框中将GenerateMember设置为false,或者您正在动态构建表单,否则您应该能够通过其名称引用图片框:

 pictureBox1.ImageLocation = "..."; 

否则,假设图片框是第一个标签页中的第一个控件,则可以使用Controls集合:

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

如果您知道某个地方只有一个图片框,但您不确定它所在的页面或该页面上的哪个位置,您可以使用Linq:

 var picBox = tabControl1.TabPages.Cast() .SelectMany(page => page.Controls.OfType()) .First(); picBox.ImageLocation = "...";