我做了两个变量:
Public a as Integer
Public b as Integer我有一个文本字段,可以像这样插入两个值:"1 - 10“,所以我拆分了值,并将它们保存在这两个变量a和b中。
但是我需要这两个不同形式的值,但是我得到的都是0。
我还在form2中创建了Dim c as form1 = new form1。
有什么问题吗?
发布于 2017-08-03 00:49:25
根据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、按钮、DataGridView等)通信。和表单的公共变量。
发布于 2017-08-03 00:43:19
嗯,我不确定你到底想要什么,但这里有一些建议:
如果您的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") (因此您将从该文本中提取两个数字)
正如我所说的,我不完全知道你想要什么,但希望这对你有所帮助,让我知道这是不是你想要的!
发布于 2017-08-03 00:59:47
您可以创建一个模块,并在那里将变量定义为puclic,这样就可以从应用程序的任何位置访问它们。
右键单击该解决方案,然后依次添加新项和模块
并且在该模块中添加
公共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)然后用你需要的任何形式打电话给我。
https://stackoverflow.com/questions/45466186
复制相似问题