C#windows窗体编程问题

zhengqu0110 2008-11-19 12:31:14
为什么 我这个只能在弹出的student窗体上显示这个user值再打开这个窗口或者通过其他方法打开这个窗口那个值就没有了
student form = new student();
form.Show();
form.num.Text = this.user;//登录窗口的登录名


可以用什么方法将一个窗口的登陆界面的登录名保存下来 然后在别的窗体上一直可以调用。
...全文
130 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DEMONSINE 2008-11-19
  • 打赏
  • 举报
回复
可以通过STUDENT窗体的构造函数 将你要穿的参数传递过去啊
public partial class Student : Form
{
public int id;
public Student(int id)
{
InitializeComponent();
this.id=id;
}
}
_____________________________________________
student form = new student(id); //id 为要传递的值
form.Show();
prince1985s 2008-11-19
  • 打赏
  • 举报
回复
虽然不知道楼主具体的意思,不过有一个解决办法:
在Winform程序中,有一个AppDomain对象可以保存本程序域的数据(作用有点类似ASP.Net的Session),通过这个对象的SetData()与GetData()方法可以实现数据缓存,然后跨窗体访问.
gogogo 2008-11-19
  • 打赏
  • 举报
回复
student form = new student(); 
form.num.Text = this.user;//登录窗口的登录名
form.Show();

交换2句顺序,form showmodal都没问题
qiying1988 2008-11-19
  • 打赏
  • 举报
回复
学习
DNN-2017 2008-11-19
  • 打赏
  • 举报
回复
session
whitechololate 2008-11-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 DEMONSINE 的回复:]
可以通过STUDENT窗体的构造函数 将你要穿的参数传递过去啊
public partial class Student : Form
{
public int id;
public Student(int id)
{
InitializeComponent();
this.id=id;
}
}
_____________________________________________
student form = new student(id); //id 为要传递的值
form.Show();
[/Quote]

这种方法得到了比较广泛的使用,群众基础比较扎实,得到了广泛验证是可行的。
patrickpan 2008-11-19
  • 打赏
  • 举报
回复
C#里面没有全局变量的概念,可以通过静态属性来实现。

public static UserCommon
{
public static string UserName{get; set;}
}
登录的时候给他赋值: UserCommon.UserName = tbUser.Text;
其它要用的时候直接调用UserCommon.UserName就可以了。
长沙三毛 2008-11-19
  • 打赏
  • 举报
回复
全局变量,创建一个全局的静态类可以达到这个目的

public static class TVars
{
private static string m_userName = string.Empty; public static string UserName
{
get{return m_userName;}
set{m_userName = value;}
} ...
}

使用时,GlobeClass.UserName = "Zhang"

111,130

社区成员

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

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

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