Vb.net 从Form2访问Form1上的文本框
我是vb.net新手,如果这是一个简单的问题,请原谅我 我创建了一个类库项目,其中包含两个windows窗体,Form1和Form2。主类库具有打开Form1的事件。Form1上的按钮启动Form2。大部分代码都是Form1,如果我能帮助的话,我不想更改它 我想做的是从Form2访问Form1上的sub。该sub正在更改表单1上文本框的值。当我编译项目时,我没有得到任何错误,但是,什么也没有发生 这里有一个例子 表格1:Vb.net 从Form2访问Form1上的文本框,vb.net,winforms,visual-studio-2015,Vb.net,Winforms,Visual Studio 2015,我是vb.net新手,如果这是一个简单的问题,请原谅我 我创建了一个类库项目,其中包含两个windows窗体,Form1和Form2。主类库具有打开Form1的事件。Form1上的按钮启动Form2。大部分代码都是Form1,如果我能帮助的话,我不想更改它 我想做的是从Form2访问Form1上的sub。该sub正在更改表单1上文本框的值。当我编译项目时,我没有得到任何错误,但是,什么也没有发生 这里有一个例子 表格1: Public Sub test() Me.Panel1.Cont
Public Sub test()
Me.Panel1.Controls("Textbox1").Text = "Test"
End Sub
表格2:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim MainForm As New Form1
Me.Close()
MainForm.test()
End Sub
不要太在意我是如何建立它的,我已经尝试了大约20种不同的东西,这就是我现在的处境
我已尝试在子测试()中定义Form1。我已尝试将sub test()设置为shared。我已尝试关闭Form2并激活Form1。我已尝试将文本框上的modifiers属性更改为public。我试着让Form1成为父母,Form2成为孩子(老实说,我不太懂MDI)。所有这些结果最终都会被编译成一个项目,但不会给我任何结果。我的代码可以很好地访问sub,它不会访问文本框的text属性
任何建议都会有帮助。我正在尝试以一种可以循环访问所有文本框的方式访问这些文本框。例如:Me.Panel.Controls(“Textbox”&i.Text=“Something”。另外,如果可以的话,我想在中一的课堂上留下这个替补
任何建议都很好 您正在
Form2
中创建一个全新的Form1
,这就是问题所在
只需使用:
调用Form1.test()
顺便说一句,我认为sub中的代码是设置文本的一种更简单的方法:
Panel1.TextBox1.Text=“Test”
为什么要从Form2
调用方法Test
?重要的是什么?访问面板上的所有文本框
<对于Panel.Controls.OfType(文本框的)(
中的每个t,您可以设置t
的属性。