C# 窗口间传值问题 为什么我得不到值啊?

你非我杯茶zh 2016-04-14 11:01:59
Form1向Form2传值 传不过去是什么意思?

form1 的代码:
public string uname;

private void button3_Click(object sender, EventArgs e)
{
uname=textbox1.text;
FormNumUpdate FormNumUpdate =new FormNumUpdate();
FormNumUpdate.ShowDialog();
}


form2的代码:
 private void FormNumUpdate_Load(object sender, EventArgs e)
{
FormNumShow FormNumShow=new FormNumShow();
string uname1 = FormNumShow.uname;
}


这个uname1的值为什么为null?
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
RubenLuLu 2016-04-14
  • 打赏
  • 举报
回复
不建议通过这种方式来传递参数。 可以通过全局静态类的方式,来存取一些窗口间需要传递的参数。
Poopaye 2016-04-14
  • 打赏
  • 举报
回复
FormNumUpdate.ShowDialog(this); //FormNumUpdate_Load中 string uname1 = ((FormNumShow)this.Owner).textbox1.text;
你非我杯茶zh 2016-04-14
  • 打赏
  • 举报
回复
解决了 form2里面也定义一个
public string uname;
form1里面
FormNumUpdate.uname=textbox1.text;
大鱼> 2016-04-14
  • 打赏
  • 举报
回复
new 了一个了,怎么可能还能取到值呢? 给你两个方法: 一、使用委托 二、在Form1里面定义 public static Form1 pwin=null; 构造方法里面 pwin=this; Form2里面这样调用 string uname1=Form1.pwin.uname;
大鱼> 2016-04-14
  • 打赏
  • 举报
回复
http://blog.csdn.net/qq_17486399/article/details/50727986
BitCoffee 2016-04-14
  • 打赏
  • 举报
回复

//FormNumUpdate窗体里面重载一个构造函数不就可以了
public FormNumUpdate(string uname)
{
   
}
  • 打赏
  • 举报
回复
FormNumShow FormNumShow=new FormNumShow(); 你这个与打开的form没任何关系

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧