首页 >后端开发 >C++ >如何按编程定位和访问Windows表单按名称?

如何按编程定位和访问Windows表单按名称?

Susan Sarandon
Susan Sarandon原创
2025-01-27 12:36:11445浏览

How Can I Programmatically Locate and Access Windows Forms Controls by Name?

在 Windows 窗体中按名称查找控件

在 Windows 窗体中,通常需要以编程方式访问窗体上的特定控件,尤其是在您有很多控件并需要动态与它们交互的情况下。最直接的方法之一是使用其名称搜索它们。

使用 Control.ControlCollection.Find

Control 类在其 ControlCollection 属性中提供了一个 Find 方法。此方法允许您按名称搜索控件,返回第一个匹配的控件,如果找不到具有该名称的控件则返回 null。

例如,如果您有一个名为“textBox1”的文本框,并且您希望以编程方式访问它:

<code class="language-c#">TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "找到!";</code>

此代码片段会将文本框分配给“tbx”变量并将文本内容更新为“找到!”

针对提问者的说明

在您的特定情况下,您在一个二维数组中有一个文本框名称数组,其中每一行包含两个元素:文本框名称和一条消息。您可以调整上述方法以使用其名称查找和访问每个文本框:

<code class="language-c#">Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
    tbxs[0].Text = "找到!";
}</code>

通过利用 Control.ControlCollection.Find 方法,您可以有效地定位和交互 Windows 窗体上的控件,而不管其位置或可见性如何。

以上是如何按编程定位和访问Windows表单按名称?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn