首页 > 解决方案 > 将表单分配给表单变量,然后对其进行修改控制

问题描述

我的windows应用程序和我有多个类似的设计表单具有相同的控件名称我试着让所有人说:

form2.textbox2.text="somthing"
form3.textbox2.text="somthing"
form4.textbox2.text="somthing"

我不能这样做,但是另一种方法可以做类似的事情:

dim formx as form = form2
formx.textbox2.text="something"
formx=form3
formx.textbox2.text="something"
formx=form4
formx.textbox2.text="something"

标签: vb.netwinforms

解决方案


您可以使用一个辅助方法来接收表单、控件名称和要设置的值。然后您可以使用Controls.Find搜索控件:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    SetText(Me, TextBox1, "Hello")
    SetText(Form2, TextBox2, "World")
    SetText(Form3, TextBox2, "blah")
End Sub

Private Sub SetText(ByVal frm As Form, ByVal controlName As String, ByVal value As String)
    Dim ctl As Control = frm.Controls.Find(controlName, True).FirstOrDefault
    If Not IsNothing(ctl) Then
        ctl.Text = value
    End If
End Sub

推荐阅读