
winform编程中两个窗体间传递值如何实现
主要是实现登录窗口中的登录用户名的传递!frmlogin和frmindex两个窗口!我在frmlogin中申明变量:user如下:publicstringuser="";...
主要是实现登录窗口中的登录用户名的传递!frmlogin和frmindex两个窗口!我在frmlogin中申明变量:user如下:
public string user="";并在点击登陆按钮判断了登录信息都填写完整的情况下,将填写用户名的textbox的值传给了user;user=txtname.text.trim();
然后在frmindex中调用,调用代码如下:
frmlogin login= new frmlogin();
string username=login.user;
我个人觉得代码没有错误,只是不知道为什么user的值一直都是空的,很奇怪~
重要信息交流,希望知道的同志告解下! 展开
public string user="";并在点击登陆按钮判断了登录信息都填写完整的情况下,将填写用户名的textbox的值传给了user;user=txtname.text.trim();
然后在frmindex中调用,调用代码如下:
frmlogin login= new frmlogin();
string username=login.user;
我个人觉得代码没有错误,只是不知道为什么user的值一直都是空的,很奇怪~
重要信息交流,希望知道的同志告解下! 展开
2个回答
展开全部
登陆窗体的代码如下:
还有要把登陆窗体的txtname的Modifiers属性设为public
Form2是目标窗体,Form1是登陆窗体,textBox1是登陆名的文本框
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BaiduTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.f1 = this; //这句代码一定要加
f2.Show();
}
}
}
**************************************************************
目标窗体的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BaiduTest
{
public partial class Form2 : Form
{
public Form1 f1 = new Form1();//这句代码一定要加
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
string username = f1.txtname.Text;
MessageBox.Show(username);//这里就有值了
}
}
}
还有要把登陆窗体的txtname的Modifiers属性设为public
Form2是目标窗体,Form1是登陆窗体,textBox1是登陆名的文本框
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BaiduTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.f1 = this; //这句代码一定要加
f2.Show();
}
}
}
**************************************************************
目标窗体的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace BaiduTest
{
public partial class Form2 : Form
{
public Form1 f1 = new Form1();//这句代码一定要加
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
string username = f1.txtname.Text;
MessageBox.Show(username);//这里就有值了
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询