请问这个功能如何实现,急!
我需要在一个窗口中点击一个按钮,打开另外一个窗口,在新窗口中有一个TextBox(txtBox1)和一个Button(btnSubmit),在TextBox中输入一个值,点击Button后,关闭新窗口,将这个值显示到原窗口的一个Label(lblValue)上,请问这个功能应该如何实现?
多谢了!
问题点数:20、回复次数:6Top
1 楼asd_liu(无情!)回复于 2004-09-03 11:14:26 得分 0
Dim f As New Form1
f.ShowDialog()
lblValue.Text = f.txtBox1.TextTop
2 楼thinkingforever(努力学习)回复于 2004-09-03 11:16:46 得分 0
将原来的窗体上的Label设置为静态的.当在新窗体上点击Button时,在Button事件中把值给原窗体上的LabelTop
3 楼lzmtw(水如烟)回复于 2004-09-03 12:00:31 得分 10
窗体间参数的传递,也就是两个类间的参数传递,其关键处是怎么得到引用类的实例。
一般有两种办法,一种是设工程的全局变量,一种是在要引用的类中设一个公用变量,这个类在初始化时由外部将实例传给它。
下面分别举例一下:
第一种办法,建一个Modulel
Module Module1
Public frmA As FormA
End Module
在FormA中,
Public Class FormA
Inherits System.Windows.Forms.Form
...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frmB As New FormB
frmA = Me '这里传递实例
frmB.ShowDialog()
End Sub
End Class
在FormB中,
Public Class FormB
Inherits System.Windows.Forms.Form
......
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
frmA.TextBox1.Text = Me.TextBox1.Text
End Sub
End Class
第二种办法,
在FormA中
Public Class FormA
Inherits System.Windows.Forms.Form
...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frmB As New FormB
frmB.frmA = Me'这里传递实例
frmB.ShowDialog()
End Sub
End Class
在FormB中,
Public Class FormB
Inherits System.Windows.Forms.Form
......
Public frmA As FormA
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
frmA.TextBox1.Text = Me.TextBox1.Text
End Sub
End ClassTop
4 楼Daiwood()回复于 2004-09-03 18:40:10 得分 5
FormA中:
Private Sub btnShowFormB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowFormB.Click
Dim frmB As New FormB
frmB.Instance(Me) '这里传递实例
frmB.Show()
End Sub
FormB中:
Private m_frmParent As FormA
Public Function Instance(ByVal frm As FormA)
m_frmParent = frm
End Function
Private Sub btnCloseFormB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCloseFormB.Click
m_frmParent.lblValue.Text = Me.txtBox1.Text
End Sub
Top
5 楼zwxrain(Lilo)回复于 2004-09-04 10:36:35 得分 5
有很多方法可以實現的....
先定一個類....class
在class 裡建一個function
private istg_textbox_text as string
....
public sub SetTextBoxText(byval astg_textbox_text as string)
istg_textbox_text=astg_textbox_text
end sub
public function GetTextBoxText() as string
return istg_textbox_text
end sub
有button 的那個form 如要按button.click時
就:class. SetTextBoxtext(textbox.text)
在有label 的from 去調用這個function
label.text=GetTextBoxText
Top
6 楼Ninputer(装配脑袋)回复于 2004-09-04 14:43:10 得分 0
任何用字段静态化来解决这个问题的方法都是错误的。即使初学者也不能不择手段。Top




