两个窗体转参数问题?-----------------加1000分
有两个窗体A、B
在A中
dim frm as new B
frm.showdialog()
在B中
我修改一个值后,“B窗体不关闭的情况下”让A上一个TextBox的值发生变化,怎样控制?
问题点数:100、回复次数:10Top
1 楼thinkingforever(努力学习)回复于 2004-09-03 11:12:24 得分 10
设置窗体A上的TextBox为静态的Top
2 楼lk_cool(Loken _ 超级无敌小地主)回复于 2004-09-03 11:24:55 得分 30
http://211.65.64.83/kk/twofrm.rar
这里有例子,看看Top
3 楼lzmtw(水如烟)回复于 2004-09-03 11:39:53 得分 10
窗体间参数的传递,也就是两个类间的参数传递,其关键处是怎么得到引用类的实例。
一般有两种办法,一种是设工程的全局变量,一种是在要引用的类中设一个公用变量,这个类在初始化时由外部将实例传给它。Top
4 楼3tzjq(永不言弃)回复于 2004-09-03 11:46:12 得分 5
用委托Top
5 楼IE14571(Leo)回复于 2004-09-03 11:46:17 得分 15
B tmpForm = new B
if (tmpForm.ShowDialog(this) == DialogResult.OK)
if (tmpForm.IM_NO !="")
wIM_NO =tmpForm.IM_NO;
tmpForm.Dispose();
return wIM_NO;Top
6 楼tongzw(flywolf)回复于 2004-09-03 11:48:37 得分 15
在frmA中写以下代码
public shared frm as frmA
public shared property newform as frmA
get
if frm is nothing orelse frm.isdisposed then
frm=new frmA
end if
return frm
end get
set
end set
end property
在frmB中改变某值后写以下代码:
fmrA.newform.textbox1.text="你想要的值"
Top
7 楼lzmtw(水如烟)回复于 2004-09-03 11:48:45 得分 15
下面分别举例一下:
第一种办法,建一个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 ClassTop
8 楼IE14571(Leo)回复于 2004-09-03 11:51:58 得分 0
private string GetValue()
{
B tmpForm = new B();
string wTxt;
if (tmpForm.ShowDialog(this) == DialogResult.OK)
if (tmpForm.Text1 !="")
wTxt = tmpForm.Text1;
tmpForm.Disponse();
return wTxt;
}
在A 窗口打开B窗口的地方加以下语句:
A.text1 = GetValue();Top
9 楼lzmtw(水如烟)回复于 2004-09-03 11:52:09 得分 0
第二种办法,
在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 Class
Top
10 楼feihu_02(飞狐http://foxstudio.51vip.cn)回复于 2005-03-28 17:05:29 得分 0
markTop




