本文共 1371 字,大约阅读时间需要 4 分钟。
Winform跨窗口传递数据的几种情况
一,类中定义静态字段作为中间转换变量,在另一个类中直接改变静态字段的值。
public partial class Form2_Main : Form { public static string _currentlogname = ""; public static bool _logon = false; public Form2_Main() { InitializeComponent(); } } public partial class Form1_Logon : Form { public Form1_Logon() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if ((textBox1.Text=="admin")&&(textBox2.Text=="123")) { Form2_Main._currentlogname = "admin"; Form2_Main._logon = true; this.Close(); } }
二,在一个窗体中改变另外一个窗体中控件的显示将子窗口中的控件属性改为public,即可在其他窗口中操作改值。
1、将要改变的form中的控件属性改为public
2、在任何一个窗体中都可以改变ShowForm中控件的内容
三,利用构造函数传递初始化值
C#: string frmStatus = "";//ADD/EDIT/VIEW public frmLubrication(string initFormStatus) :this () { this.frmStatus = initFormStatus; } 在别的页面调用: this.Form.Show(new frmLubrication("EDIT");VB.NET Dim JobDetailsRefno As Integer Public Sub New(ByVal jDetailRefNo As Integer) MyBase.New() InitializeComponent() JobDetailsRefno = Convert.ToString(jDetailRefNo) End Sub 在别的页面调用: Dim frm As New frmAdjust(nJobDetailsRefNo) ' frm.ShowDialog()
转载地址:http://xnmdi.baihongyu.com/