当前位置:编程学习 > C#/ASP.NET >>

winform间值传递的具体问题

现在有三个窗体login、MainForm、FormSO
login是登录窗体,登录后自动隐藏窗体,然后打开MainForm是主窗体,login的登录名MainForm会用到,当点击mainForm的treeview节点的时候,打开了FormSO窗体,FormSO要自动获取login中的登录名并显示。请问登录名如何在三个窗体中传递,并在FormSO中显示? WinForm --------------------编程问答-------------------- 你直接在登陆窗体中定义一个静态的全局变量来存储登陆名就好了,后面的窗体直接可以通过登陆窗体类来获得登录名的 --------------------编程问答-------------------- lz的这种思路不对, 不应该把用户信息通过界面去传递,这样得累死人了。

应该定义一个用户对象类或结构 --------------------编程问答-------------------- 求高手们赐教!我是新手··· --------------------编程问答-------------------- http://download.csdn.net/detail/caozhy/5287998
这个例子和你的需求类似。 --------------------编程问答-------------------- 亲爱的版主  我下载下来但是可能它的版本太新了 我用vs2008打不开··· --------------------编程问答--------------------
引用 5 楼 u010888992 的回复:
亲爱的版主  我下载下来但是可能它的版本太新了 我用vs2008打不开···

你直接删除解决方案然后打开csproj文件,如果还是打不开,你可以打开csproj你就直接打开里面的代码看代码就可以了,或者看看bin目录下是不是有exe文件,直接点Exe文件看效果就好了 --------------------编程问答-------------------- 登录信息一般都是建一个单独的类,然后:搞定。
public static String loginname; --------------------编程问答-------------------- 分清楚情况,登录信息一般是全局性的东西,后面还有很多地方要用,所以不建议使用窗体传递,这玩意最好全局保持下来,所有ui公用 --------------------编程问答-------------------- 对的,1楼正解. --------------------编程问答-------------------- 对的,1楼正解 --------------------编程问答-------------------- 在后边的窗体中设置getname方法,
private string name;
private string getname(string na)
{
   return name=na;
}

第一个打开第二个窗体并传递登录名的方法如下
MainForm mainform = new MainForm();
mainform.getname(loginname);
mainform.Show();
this.Hide();

这样就把登录名loginname传到第二个窗体中了。

你试一试吧,应该可以的,我有个作业就是这样写的,能传过去

我也是新手,就知道这样的方法,别的更好的我就不知道了,希望对你有帮助 --------------------编程问答-------------------- 我试了 直接执行那个exe,但是提示说.Net Framework 必须是v 4.0以上··· --------------------编程问答-------------------- 定义一个用户类..
里面存上用户的帐号和密码..
在登陆成功后实例化一个该类对象给对象里面的成员赋值.
在需要用的地方直接把这个对象传递过去.
使用这个对象里面存放的值就行了. --------------------编程问答-------------------- 写个静态类,用户信息登录时写入静态类吧…… --------------------编程问答-------------------- 可以单独定义一个静态类,记录用户登录信息 --------------------编程问答--------------------
引用 12 楼 u010888992 的回复:
我试了 直接执行那个exe,但是提示说.Net Framework 必须是v 4.0以上···

楼主又笨又懒,装个vs2010什么都有了 --------------------编程问答-------------------- 难道又是一个毕业设计。。。。 --------------------编程问答-------------------- 好想来晚了!

子窗体  变量=new 子窗体(参数);
变量.show();


子窗体界面代码 在有参构造函数里面接受参数 --------------------编程问答--------------------
引用 13 楼 LADYGAGA_XB 的回复:
定义一个用户类..
里面存上用户的帐号和密码..
在登陆成功后实例化一个该类对象给对象里面的成员赋值.
在需要用的地方直接把这个对象传递过去.
使用这个对象里面存放的值就行了.

+1   --------------------编程问答--------------------
引用 12 楼 u010888992 的回复:
我试了 直接执行那个exe,但是提示说.Net Framework 必须是v 4.0以上···


不会吧,我用的是vs2005可以啊…… --------------------编程问答-------------------- 定义个全局访问的变量,再就是new form也可以不过变量需要时公共的才行。 --------------------编程问答-------------------- 第一种方式 如楼上很多所说的 定义静态变量;
第二种方式 存储到本地,并进行加密处理,登录后就写入文件比如XML 或 INI文件,打开页面需要用户信息的时候就去读配置文件;
第三种方式 按照你自己理解的每个窗体进行数据传递,这样有点纠结,每次打开新窗体的时候将你这个信息作为参数提交到新窗体,并进行记录;
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,