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的值一直都是空的,很奇怪~
重要信息交流,希望知道的同志告解下!
展开
 我来答
307482311
推荐于2016-09-14 · TA获得超过1471个赞
知道小有建树答主
回答量:388
采纳率:0%
帮助的人:316万
展开全部
登陆窗体的代码如下:
还有要把登陆窗体的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);//这里就有值了
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Book_OnLine
2009-07-10 · TA获得超过232个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:151万
展开全部
public string user="";改成public static string user="";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式