标题:vb.net 如何引用另外一个窗体的变量
只看楼主
csbing
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-3-29
 问题点数:0 回复次数:10 
vb.net 如何引用另外一个窗体的变量

在frmMain窗体定义
Public UserName As String
Public UserId As String
UserName="aaa"

在frmOrderList窗体中定义
Private UserName As String = ""
然后
Public Sub New(ByVal sUserName As String)
MyBase.New()

'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()

'在 InitializeComponent() 调用之后添加任何初始化
UserName = sUserName

End Sub
然后
Private Sub frmOrderList_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
txbListMaker.Text = UserName
End sub

不知道vb.net 如何引用另外一个窗体的变量,请哪位高手解答一下。Thanks

搜索更多相关主题的帖子: 变量 窗体 
2007-08-23 16:24
adou
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:81
注 册:2006-8-24
得分:0 
把另一个窗体(假设为窗体叫FrmTest)的变量(变量名为Temp)设为Public
然后可以在另一个窗体里这样写:
Dim f as new FrmTest.
f.Temp=……



这样不就可以了吗?

大家好,才是真的好!
2007-08-23 16:46
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
得分:0 


为什么不把其他窗体需要引用的变量在模块中定义为全局变量?
这样不是更方便?


全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-23 17:14
csbing
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-3-29
得分:0 
回复:(csbing)vb.net 如何引用另外一个窗体的变量

我用vb.net2005开发,可是源代码是vb.net2003的,不明白frmOrderList进货单其中代码
Public Sub New(ByVal sUserName As String)
MyBase.New()
InitializeComponent()
UserName = sUserName
End Sub

Private Sub frmOrderList_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.txbListMaker.Text = UserName
End sub

请帮忙看一下源代码,它是怎么样引用另外一个窗体的变量。

Thanks


相互交流,相互进步。
2007-08-24 08:16
adou
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:81
注 册:2006-8-24
得分:0 
UserName应该是一个全局变量
你可以查找UserName这个变量是怎么定义的。

大家好,才是真的好!
2007-08-24 08:19
adou
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:81
注 册:2006-8-24
得分:0 
在哪定义的。

大家好,才是真的好!
2007-08-24 08:19
csbing
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-3-29
得分:0 
回复:(adou)在哪定义的。
在frmMain窗体定义全局变量UserName

相互交流,相互进步。
2007-08-24 08:21
csbing
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-3-29
得分:0 
回复:(csbing)vb.net 如何引用另外一个窗体的变量

已经解决呢。Thanks

在frmMain窗体定义
Public UserName As String
Public UserId As String
UserName="aaa"

Private Sub MenuItemOrderList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemOrderList.Click
Dim childFrm As frmOrderList = New frmOrderList(UserName)
childFrm.MdiParent = Me
childFrm.Show()
End Sub

在frmOrderList窗体中定义
Private UserName As String = ""
然后
Public Sub New(ByVal sUserName As String)
MyBase.New()

'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()

'在 InitializeComponent() 调用之后添加任何初始化
UserName = sUserName

End Sub
然后
Private Sub frmOrderList_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
txbListMaker.Text = UserName
End sub


相互交流,相互进步。
2007-08-24 09:32
latemane
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-9-1
得分:0 

一般来说,如果要对一个窗体里面的某个变量进行引用,经常是先声明一个对象,然后通过变量引用其中的public变量,但不能引用其中的private变量,而通过楼上的方法可以引用任何类型的变量,也就是说
在frmMain窗体定义
private UserName As String
private UserId As String
UserName="aaa"

是一样的.

2007-09-01 00:32
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
以下是引用csbing在2007-8-24 9:32:29的发言:

已经解决呢。Thanks

在frmMain窗体定义
Public UserName As String
Public UserId As String
UserName="aaa"

Private Sub MenuItemOrderList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItemOrderList.Click
Dim childFrm As frmOrderList = New frmOrderList(UserName)
childFrm.MdiParent = Me
childFrm.Show()
End Sub

在frmOrderList窗体中定义
Private UserName As String = ""
然后
Public Sub New(ByVal sUserName As String)
MyBase.New()

'该调用是 Windows 窗体设计器所必需的。
InitializeComponent()

'在 InitializeComponent() 调用之后添加任何初始化
UserName = sUserName

End Sub
然后
Private Sub frmOrderList_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
txbListMaker.Text = UserName
End sub

不是我说你啊……增加了耦合度了 维护会变困难的

2007-09-01 00:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-164927-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044230 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved