将数据从表单1发送到表单2

时间:2017-08-02 16:24:47

标签: database vb.net forms variables split

我做了两个变量:

Public a as Integer
Public b as Integer

我有一个文本字段,其中可以插入2个值:“1 - 10” 所以我将值拆分并将它们保存在那两个变量a和b中。

但是我需要不同形式的那两个值,但我得到的只是0。

我还在form2中创建了Dim c as form1 = new form1

有什么问题?

3 个答案:

答案 0 :(得分:0)

嗯,我不确定你想要的是什么,但这里有一些建议:

如果你的form1包含两个变量,那么:

Public a As Integer = 0
Public b As Integer = 0

并且您希望从另一个表单中检索其中一个变量的值,比如说Form2,然后您需要做的就是:

(将此代码放在函数或第二个表单的事件中(例如Form2)):

dim current_a As Integer = 0
current_a = Form1.a

dim current_b As Integer = 0
current_b = Form1.b

如果您在文本框中输入文本(例如:“1 - 10”),但想要同时获取两个值(在本例中为1和10),则只需要通过例如创建循环,搜索这些值,如下所示:

dim textbox_str As String = ""
textbox_str = TextBox1.Text

(在此示例中,TextBox1.Text将包含“1 - 10”)

dim final_str1 As String = ""
dim final_str2 As String = ""

for each s_ As String In textbox_str
      If Not s_ = " " Then
          final_str1 = final_str1 & s_
      Else
          Exit For
      End If
Next

(在此之后,final_str1将包含“1”) (现在通过执行以下操作提取第二个数字:)

final_str2 = textbox_str.Replace(final_str1 & " - ", "")

(现在,final_str2将包含“10”) (所以你将从该文本中提取两个数字)

正如我所说,我并不完全知道你想要什么,但希望这对你有所帮助,请告诉我你是否正在寻找它!

答案 1 :(得分:0)

根据Form1和Form2之间的关系,您可以使用此类通信(这适用于父子关系):

表格2:

Public ParentFrm as Form1
Public a as Int16

表单1 - 在其正在运行的实例中

Public b as Int16
Dim NewInstanceOfForm2 as New Form2
NewInstanceOfForm2.ParentFrm = Me    ' this is to ensure you can talk back to correct instance of parent form
NewInstanceOfForm2.a = 12345
NewInstanceOfForm2.BackColor = colors.Pink
NewInstanceOfForm2.TextBox1.Text = "Hello World!!!"

由于我们在Form2中设置了ParentFrm,因此您可以以相同的方式返回并在Form1中设置内容:

ParentFrm.b = 789
ParentFrm.TextBox3 = "Hi there!!!"
ParentFrm.UpdateForm1FromDatabasePublicFunction()

兄弟姐妹可以通过共同的父母进行交流。但在所有情况下,您需要了解表单的实例。请记住,您只能与表单中的对象(TextBox,Button,DataGridView,...)和公共变量进行通信。

答案 2 :(得分:0)

您可以创建一个模块并将变量定义为puclic,这样它们始终可以从应用程序的任何位置访问。

右键单击解决方案,Add New,Module

在该模块中添加

  

公开a,b为整数

要拆分文本框输入并将它们存储在这些变量中,请使用

Dim s as String
Dim sp() as String
s = TextBox1.Text
sp = s.Split("-")

它将值存储在文本框中,分别用' - '分隔在sp(0)和sp(1)上。

然后,您可以将它们存储到公共变量中。

a = sp(0)
b = sp(1)

然后从你需要的任何形式打电话。