c#如何通过窗体名称获取该窗体下的所有控件
时间: 2023-08-01 16:11:36 浏览: 68
可以通过以下代码获取窗体中所有控件:
```csharp
// 获取窗体中所有控件
Control[] controls = this.Controls.Find("窗体名称", true);
if (controls.Length > 0)
{
Control mainForm = controls[0];
foreach (Control control in mainForm.Controls)
{
// 对控件进行操作
}
}
```
其中,`this.Controls.Find` 方法可以根据控件名称查找指定控件。第一个参数为要查找的控件名称,第二个参数表示是否在子控件中查找。如果找到了指定控件,就可以通过 `Control` 类型的数组获取到该控件。然后,可以通过遍历控件的 `Controls` 属性获取该控件下的所有子控件,并进行相关操作。
相关问题
c#如何通过窗体名称获取所有控件的name和text值
可以通过以下代码获取窗体中所有控件的 Name 和 Text 属性值:
```csharp
// 获取窗体中所有控件的 Name 和 Text 属性值
foreach (Control control in this.Controls)
{
string controlName = control.Name;
string controlText = control.Text;
// 使用获取到的属性值进行操作
}
```
其中,`this.Controls` 表示当前窗体中的所有控件集合。通过遍历集合,可以获取到每个控件的 `Name` 和 `Text` 属性值,并进行相关操作。
C# 在类中获取打开其他窗体的文本控件
在C#中,可以使用以下代码来获取其他窗体中的文本控件中的字符串:
```
// 假设要获取的窗体为 Form2,文本控件名称为 textBox1
string str = "";
Form2 form2 = new Form2(); // 实例化 Form2 窗体对象
if (form2.ShowDialog() == DialogResult.OK) // 显示 Form2 窗体并等待其关闭
{
str = form2.textBox1.Text; // 获取 Form2 窗体中的 textBox1 控件中的文本
}
```
上面的代码中,我们实例化了一个 `Form2` 窗体对象,并调用了它的 `ShowDialog` 方法来显示窗体并等待其关闭。在窗体关闭后,我们可以从 `Form2` 窗体对象中获取到 `textBox1` 控件中的文本,将其保存到 `str` 变量中。值得注意的是,在 `Form2` 窗体中需要将 `textBox1` 的 `Modifiers` 属性设置为 `Public`,以便在其他类中访问它。