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

发布于 2024-08-02 04:50:50 字数 174 浏览 4 评论 0 原文

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

tabControl1.TabPages[0].???

我的 TabControl 的 TabPage1 中有一个 PictureBox。

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

This is all I have so far.

tabControl1.TabPages[0].???

I have a PictureBox inside of TabPage1 of my TabControl.

How can I change the image location with code and not the properties pane?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

卸妝后依然美 2024-08-09 04:50:50

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

而不是:


tablControl1.TabPages[0].MyContainedControl...

只需键入:


MyContainedControl...

Although the controls appear inside a container (as a TabControl), they're all defined on the form, so there is no need to access them through the container.

Instead of:


tablControl1.TabPages[0].MyContainedControl...

Simply type:


MyContainedControl...
素衣风尘叹 2024-08-09 04:50:50

除非您在图片框中将 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 = "...";

Unless you've set GenerateMember to false on the picture box or you're building the form dynamically you should be able to reference the picture box by its name:

pictureBox1.ImageLocation = "...";

Otherwise, assuming the picture box is the first control in the first tab page you can use the Controls collection:

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

If you know there is exactly one picture box somewhere but you're not sure what page it's on or where on that page it is you can use Linq:

var picBox = tabControl1.TabPages.Cast<Control>()
    .SelectMany(page => page.Controls.OfType<PictureBox>())
    .First();
picBox.ImageLocation = "...";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文