C# WINFORM窗体之间传值丢失
时间:2011-12-15
来源:互联网
C# code
form3 SSP = new form3(); SSP.okid = uid ;//此处SSP.okid 也得到值了 SSP.ShowDialog();
C# code
form3 public string okid = string.Empty; private void Selectid() { if (okid .Trim() != "")//okid 却一直是空 { MessageBox.Show("OK"); } else { MessageBox.Show("ERR");} }
我其他窗体传值这么传,都能传过来,就是这个窗体不行。这个窗体弹出顺序(FORM1-(ShowDialog方式)-(ShowDialog方式)->FORM2-(ShowDialog方式)->FORM3(本窗体))
作者: overset 发布时间: 2011-12-15
uid此时到底是什么值?
作者: sdfkfkd 发布时间: 2011-12-15
关键是你这个SSP.okid = uid ;
uid此时到底是什么值?
它是FORM2从FORM1得到的,在给SSP.okid = uid 的时候,uid有值。
作者: overset 发布时间: 2011-12-15
作者: overset 发布时间: 2011-12-15
▪ Salesforce公司的云计算服务有...▪ 如何降低虚拟化系统的安全风险?▪ 云中数据安全靠技术还是制度?▪ 云计算产业链全景图是怎样?▪ 向私有云过渡的步骤有哪些?
form2
C# code
form3 SSP = new form3();
SSP.okid = uid ;//此处SSP.okid 也得到值了
……
form3 SSP = new form3();
SSP.okid = uid ;//此处SSP.okid 也得到值了
SSP.ShowDialog();
这个form3与你实际操作是不是同一个对象了?你能确定给赋值okid 与你操作的是同一实体对象的话 就没有问题
作者: yanbuodiao 发布时间: 2011-12-15
把这个定义,换成,静态的
public static string okid = string.Empty;
作者: lone_boy 发布时间: 2011-12-15
该回复于2011-12-15 09:17:19被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#7楼 得分:0回复于:2011-12-15 09:15:33
|
作者: cjnkd 发布时间: 2011-12-15
引用楼主 overset 的回复:
▪ Salesforce公司的云计算服务有...▪ 如何降低虚拟化系统的安全风险?▪ 云中数据安全靠技术还是制度?▪ 云计算产业链全景图是怎样?▪ 向私有云过渡的步骤有哪些?
form2
C# code
form3 SSP = new form3();
SSP.okid = uid ;//此处SSP.okid 也得到值了
……
这个问题的关……
作者: lone_boy 发布时间: 2011-12-15
作者: overset 发布时间: 2011-12-15
public string okid = string.Empty;
把这个定义,换成,静态的
public static string okid = string.Empty;
作者: liao_ken 发布时间: 2011-12-15
在两个类之间传值,在.net里一般不直接使用public的变量。一搬传值都用属性。
form3
private string okid = string.Empty;
public string Okid
{
get
{
return okid;
}
set
{
okid = value;
}
}
private void Selectid()
{
if (okid .Trim() != "")//okid 却一直是空
{
MessageBox.Show("OK");
}
else { MessageBox.Show("ERR");}
}
第二点就是:确保你在给okid付完值之后才调用的 Selectid()这个函数。
作者: overset 发布时间: 2011-12-15
第一点:
在两个类之间传值,在.net里一般不直接使用public的变量。一搬传值都用属性。
form3
private string okid = string.Empty;
public string Okid
{
get
{
return okid;
}
set
{
okid = value;
}
……
作者: gqmgsxz 发布时间: 2011-12-15
作者: overset 发布时间: 2011-12-15
form3(string _okid )
{
this.okid=_okid ;
}
作者: Tsapi 发布时间: 2011-12-15
改成public static string okid=string.Empty
错误的根本原因是同一个类的对象不同,多看点什么是值类型,什么是引用类型
作者: bdstjk 发布时间: 2011-12-15
引用 1 楼 sdfkfkd 的回复:
关键是你这个SSP.okid = uid ;
uid此时到底是什么值?
uid的值是这么定义的 public string uid=string.Empty;
它是FORM2从FORM1得到的,在给SSP.okid = uid 的时候,uid有值。
作者: helloadu2010 发布时间: 2011-12-15
该回复于2011-12-15 16:53:45被管理员删除
- 对我有用[0]
- 丢个板砖[0]
- 引用
- 举报
- 管理
- TOP
|
#18楼 得分:0回复于:2011-12-15 19:45:05
|
作者: yanbuodiao 发布时间: 2011-12-15
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28