Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim f1 As New form1() Dim lgn As New login() f1.TextBox1.Text = lgn.TextB1.Text 上面是我的代码,结果是不对的. 其中login 运行时为主窗口.
Private Sub Form2_Load() If Form1 Is Not Nothing Then Form2.Text1 = Form1.Text1 End Sub
还是不行的,我怀疑是权限的问题吧,在form2中不能直接引用form1的
楼上的代码有板有问题,我改后还是不行 Dim f1 As New form1() Dim lgn As New login() If Not IsNothing(f1) Then f1.TextBox1.Text = lgn.TextB1.Text End If
设一个全局变量,在form1中赋值。然后在form2中取该变量的值!!
不是吧,不是吧。。这个问题我想啊, 当你FORM2中的东东被实例化了,才能有数据,就象你在工程中有一个类:CLASS 如果没有调用类似SET MCLASS = NEW CLASS或者 DIM MCLASS AS NEW CLASS语句,就去调用CLASS的一个方法如OUTTEXT时,就将出现错误。 同样道理,你FORM2中的任何控件没有初始化(装如内存进行实例化)以前,是没法调用的。 想解决就必须在FORM1里用到这些控件的属性时,将其加载,也就是在FORM1的LOAD事件最前面,或者其他发生在FORM1LOAD事件前的事件中LOAD FORM2才行。
Private Sub Command1_Click() Load Form2 Form2.Text1 = "aa" Form1.Text1 = Form2.Text1 Unload Form2 End Sub
大哥,我是说控件中的数据,比如combox或textbox之类
并且,要求是,form1被激活时,本窗体的控件自动显示其他窗体中控件的数据
杂的会取不出来撒? 要不这样. From1_load的事件里写 form2.show me.text1.text = form2.text1.text end sub
form2中的load事件中 Private Sub Form_Load() Form2.Text1 = "aa" End Subform1的load中Private Sub Form_Load() Load Form2 'Form2.Text1 = "aa" Form1.Text1 = Form2.Text1 Unload Form2 End Sub 我这只是简单的举例而已,至于思路应该就是差不多吧!!这样不是form1被激活时,本窗体的控件自动显示其他窗体中控件的数据吗????
在FORM1里这样写,就可以的!我测试过!Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then If Text1.Text <> "" Then Form2.Show Form2.Text1.Text = Form1.Text1.Text Else Exit Sub End If End Sub
在调用FORM2中的控件时,你先加载FORM2就可以了!
你是在.net中啊,我刚才那些是在vb6中测试的,都可以!!那你请教其它人吧!!帮你顶了!!!
1、在form1中定义:dim tmpForm as Form 2、中From1_Load中: set tmpform=new Form2 tmpform.text2=Me.text1
怎么能不行呢
form2.text1.text = form1.text1.text
Dim f1 As New form1()
Dim lgn As New login() f1.TextBox1.Text = lgn.TextB1.Text
上面是我的代码,结果是不对的.
其中login 运行时为主窗口.
If Form1 Is Not Nothing Then Form2.Text1 = Form1.Text1
End Sub
Dim f1 As New form1()
Dim lgn As New login() If Not IsNothing(f1) Then
f1.TextBox1.Text = lgn.TextB1.Text
End If
当你FORM2中的东东被实例化了,才能有数据,就象你在工程中有一个类:CLASS
如果没有调用类似SET MCLASS = NEW CLASS或者 DIM MCLASS AS NEW CLASS语句,就去调用CLASS的一个方法如OUTTEXT时,就将出现错误。
同样道理,你FORM2中的任何控件没有初始化(装如内存进行实例化)以前,是没法调用的。
想解决就必须在FORM1里用到这些控件的属性时,将其加载,也就是在FORM1的LOAD事件最前面,或者其他发生在FORM1LOAD事件前的事件中LOAD FORM2才行。
WITH FROM2
.TEXT2.TEXT=ME.TEXT1.TEXT
END WITH
这样看看,应该可以的
怎么能不行呢要这样用,FORM2不能UNLOAD掉。
Form2.Text1 = "aa"
Form1.Text1 = Form2.Text1
Unload Form2
End Sub
要不这样.
From1_load的事件里写
form2.show
me.text1.text = form2.text1.text
end sub
Private Sub Form_Load()
Form2.Text1 = "aa"
End Subform1的load中Private Sub Form_Load()
Load Form2
'Form2.Text1 = "aa"
Form1.Text1 = Form2.Text1
Unload Form2
End Sub
我这只是简单的举例而已,至于思路应该就是差不多吧!!这样不是form1被激活时,本窗体的控件自动显示其他窗体中控件的数据吗????
我现在详细说下我的情况'我是在VB.NET中运行VB程序.现在存在form1和login(原form2)2个form.login为登录窗口.要求登录后,form1显示,并且在form1中显示是谁在使用该系统(登录着ID).
看似很简单.
If KeyCode = 13 Then If Text1.Text <> "" Then Form2.Show
Form2.Text1.Text = Form1.Text1.Text
Else
Exit Sub
End If
End Sub
2、中From1_Load中:
set tmpform=new Form2
tmpform.text2=Me.text1