我已2個變量:發送數據,以形成2
Public a as Integer
Public b as Integer
和我有其中2個值可以插入這樣一個文本字段:「1 - 10」 所以我分裂值並將它們保存在這兩個變量a和b中。
,但我需要以不同的形式與2倍的值,但所有我得到的是0
我在窗口2也創造Dim c as form1 = new form1
。
有什麼問題?
我已2個變量:發送數據,以形成2
Public a as Integer
Public b as Integer
和我有其中2個值可以插入這樣一個文本字段:「1 - 10」 所以我分裂值並將它們保存在這兩個變量a和b中。
,但我需要以不同的形式與2倍的值,但所有我得到的是0
我在窗口2也創造Dim c as form1 = new form1
。
有什麼問題?
好了,我不知道它究竟是你想,但這裏有一些建議:
如果你的Form1有兩個變量,像這樣:
Public a As Integer = 0
Public b As Integer = 0
,並要檢索的價值從另一種形式的變量之一,允許用戶從Form2的說,那麼所有你需要做的是:
(將這個代碼在任何一個功能,或者你的第二個表(例如窗體2)的事件):
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」) (所以你必須從文本中提取兩個號碼)
正如我所說,我並不確切地知道你想要什麼,但希望這有助於你,讓我知道,如果這是你在找什麼!
請使用tickmarks或縮進它們來將代碼格式化爲代碼 – jhhoff02
根據Form 1和Form之間的關係,你可以使用這種通信的(這是父子關係):
表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!!!"
由於我們在窗體2設置ParentFrm,你可以以同樣的方式傳送回,並設置我的東西n Form1:
ParentFrm.b = 789
ParentFrm.TextBox3 = "Hi there!!!"
ParentFrm.UpdateForm1FromDatabasePublicFunction()
兄弟姐妹可以通過共同父母溝通。但在所有情況下,您需要了解實例的形式。請記住,您只能與對象(TextBox,Button,DataGridView ...)和表單變量進行通信。
您可以創建一個模塊並將該變量定義爲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)
然後從您需要的任何形式調用。
'Dim c as form1 = new form1' created that *** new *** instance as the keyword implies。它不會是相同的形式實例,可能會顯示 – Plutonix
你的意思是這樣的c.a和c.b? @Plutonix – ranadev
你問'最新問題'問題是你創建了一個***新的form1實例,並且這些變量可能在新的表單實例中爲0。如果你做了'c.Show',你創建了新的表單,你會看到你的表單顯示的一個新副本 – Plutonix