7

这就是我到目前为止所拥有的。

tabControl1.TabPages[0].???

我的 TabControl 的 TabPage1 中有一个 PictureBox。

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

4

2 回答 2

8

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

代替:


tablControl1.TabPages[0].MyContainedControl...

只需键入:


MyContainedControl...
于 2009-08-19T01:55:48.067 回答
7

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

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 = "...";
于 2009-08-19T02:06:05.633 回答