2017-08-02 48 views
0

我已2個變量:發送數據,以形成2

Public a as Integer 
Public b as Integer 

和我有其中2個值可以插入這樣一個文本字段:「1 - 10」 所以我分裂值並將它們保存在這兩個變量a和b中。

,但我需要以不同的形式與2倍的值,但所有我得到的是0

我在窗口2也創造Dim c as form1 = new form1

有什麼問題?

+0

'Dim c as form1 = new form1' created that *** new *** instance as the keyword implies。它不會是相同的形式實例,可能會顯示 – Plutonix

+0

你的意思是這樣的c.a和c.b? @Plutonix – ranadev

+0

你問'最新問題'問題是你創建了一個***新的form1實例,並且這些變量可能在新的表單實例中爲0。如果你做了'c.Show',你創建了新的表單,你會看到你的表單顯示的一個新副本 – Plutonix

回答

0

好了,我不知道它究竟是你想,但這裏有一些建議:

如果你的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」) (所以你必須從文本中提取兩個號碼)

正如我所說,我並不確切地知道你想要什麼,但希望這有助於你,讓我知道,如果這是你在找什麼!

+0

請使用tickmarks或縮進它們來將代碼格式化爲代碼 – jhhoff02

0

根據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 ...)和表單變量進行通信。

0

您可以創建一個模塊並將該變量定義爲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) 

然後從您需要的任何形式調用。

相關問題