| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 884 人关注过本帖
标题:赋值的变量为什么传到第二个窗口丢失了
只看楼主 加入收藏
mlrh3838
Rank: 1
等 级:新手上路
威 望:1
帖 子:199
专家分:0
注 册:2007-6-14
收藏
 问题点数:0 回复次数:4 
赋值的变量为什么传到第二个窗口丢失了

public string yourname;

public string Yourname
{
get
{
return yourname;
}
set
{
yourname = value;
}
}


private void btnOK_Click(object sender, EventArgs e)
{
if (this.txtUsername.Text.Trim() == string.Empty) //检测账号是否为空
{
……
}
else if (this.txtPassword.Text.Trim() == string.Empty) //检测密码是否为空
{
……
}
else
{
//创建链接
SqlConnection myConnection = new SqlConnection(myClass.strConn);

myConnection.Open();

……

//判断用户是否存在
if (!myDataReader.HasRows)
{
MessageBox.Show("该账号不存在);

……
}

while (myDataReader.Read())
{
//判断此用户的密码是否与数据库中的匹配
if (myDataReader["密码"].ToString().Trim() != txtPassword.Text)
{
……
}
else
{
yourname = myDataReader["姓名"].ToString().Trim();

MessageBox.Show(yourname);
return;
}
}


在Form2窗口中:
Form1 form1=new Form1();
为什么 form1.Yourname 的值会为空呢,我明明在中间那蓝色的地方做了测试,是成功赋值的
请高手指教???


[此贴子已经被作者于2007-6-18 0:18:37编辑过]

搜索更多相关主题的帖子: 赋值 变量 窗口 
2007-06-18 00:17
haoliaos
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-4-6
收藏
得分:0 
要用静态变量

www.
2007-06-18 17:07
guoxhvip
Rank: 8Rank: 8
来 自:聖西羅南看臺
等 级:贵宾
威 望:44
帖 子:4052
专家分:135
注 册:2006-10-8
收藏
得分:0 
Form1 form1=new Form1()过后是个全新对象,重新分配内存空间,内存地址不和你运行的Form1对象已经不同,也就是说他们是不同的对象,所以你在当前Form1里面Yourname有值,而在Form2里面重新new Form1 Yourname为空 不知道LZ明白没有

愛生活 && 愛編程
2007-06-19 15:41
为记忆上锁
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:96
专家分:0
注 册:2007-4-27
收藏
得分:0 
对于vs2003 窗体间传值一般用模块或dll去传
而对vs2005 直接用 窗体名.变量 不需实例化

没有你得不到滴,只有你不想要滴
2007-06-19 17:17
wangzai900
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-5
收藏
得分:0 
重载一个form构造函数啊
2008-06-10 18:31
快速回复:赋值的变量为什么传到第二个窗口丢失了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016845 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved