扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
我没有看你写的代码 , 只好根据你的问题来回答了:.net窗体传值问题 ,
创新互联-专业网站定制、快速模板网站建设、高性价比铜山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式铜山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖铜山地区。费用合理售后完善,十余年实体公司更值得信赖。
其实,定义一个静态的全局变量就行了 , 如果是同一个项目内呢,访问修饰符不需要写public,只需要internal就可以了,
定义:
internal static str=null;
然后,取得需要传递的文本框或者是其他控件里的值,赋值给str,
如: str=textBox1.text;
然后,在另一个类里面,取得str的值 , 如果说定义的时候是在Form1类里面定义的,
那么就在另一个窗体的类文件里写:string s=Form1.str;
这样,该值就从第一个窗体传递到第2个窗体了,
定义值的时候,可以取任意类型的....
或者直接就写object的也行...
在form2中写
private string formtext1;
public string Formtext1
{
get { return formtext1; }
set { formtext1= value; }
}
在form1中
form2.Formtext1=text1.Text();
form2.show();
在form2中页面加载是给text2 赋值 text2.Text=formtext;
用form的ShowDialog这个功能,这个是可以进行窗体间的传值的。
比如在父窗体上需要传的值是textbox1的内容,子窗体是childform.
那么在父窗体上的点击事件中可以这样写
dim frm as childform = New childform
'要在子窗体上的textbox1里显示父窗体中的textbox1中的内容,这样写
frm.textbox1.text = me.textbox1.text
'最后
frm.showdialog()
这样就可以了。
如果说你三个窗体完全一样,那你也不用写三个一样的窗体只要写一个就行了,在不同的按钮事件中做不同的赋值即可。
不过这样打开的子窗体是模态窗体,也就是说在子窗体显示之后,要对父窗体进行操作必需关闭子窗体才行。
如果是
VB
6.0,您可以考虑通过设置全局变量来在两个窗体间传递数据。
如果是
VB.NET
可以这样来进行:
假设登录对话框为Form2,确定按钮名称为CmdOK:
将
Form2
的
AcceptButton
属性设置为
CmdOK
将
Form2
的
CmdOK
按钮的
DialogResult
设置为
OK
在
Form1
需要添加显示对话框代码的位置添加:
Dim
Dialog
As
New
Form2
If
Dialog.ShowDialog
=
Windows.Forms.DialogResult.OK
Then
Me.Text
=
"XXX系统
-
"
Dialog.TextBox1.Text
End
If
这样在Form1主窗口内的标题栏就会显示用户名了。
同理,可以通过访问Dialog中的任何对象来取得对话框中的任何信息。
新窗体中写构造函数,然后调用。
比如你要调用的新窗体是From1.cs这个窗体,
public Form1(要传入的参数)
{
//把传入的参数传入窗体中
//执行窗体标准内容
}
然后在需要调用的地方调用
Form1 f = new Form1(传出的参数);
'--------Form1--------
Dim f2 As Form2
Private Sub Command1_Click()
Set f2 = New Form2
f2.Show vbModal
End Sub
'--------Form1 End--------
'--------Form2--------
Dim WithEvents f3 As Form3
Private Sub Command1_Click()
Set f3 = New Form3
f3.Show
End Sub
Public Sub f3_f2W()
Me.Command1.Caption = "f2W"
End Sub
'--------Form2 End--------
'--------Form3--------
Public Event f2W()
Private Sub Command1_Click()
RaiseEvent f2W
End Sub
'--------Form3 End--------
f.Show();
如此就能实现调用了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流