标题:vb.net 登录窗体中的参数如何传递到其他窗体?
只看楼主
ZMGTCDY
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:51
专家分:115
注 册:2012-10-5
结帖率:50%
已结贴  问题点数:20 回复次数:9 
vb.net 登录窗体中的参数如何传递到其他窗体?
登录窗体中包含年、月、日等文本框内容,输入后点击“登录系统”后进入到主窗体(此时登录窗体已经关闭)。这时登录窗体中的文本框内容如何传递给其他窗体?请各位高手帮忙。谢谢!!
搜索更多相关主题的帖子: 登录系统 如何 其他 文本框 
2012-10-21 10:31
wumingchenxi
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:96
专家分:457
注 册:2012-6-6
得分:20 
方法有好多,
“此时登录窗体已经关闭”这句话,不怎么正确,点击“登录系统”按钮后,这个时候登陆窗体还没有关闭,把参数值传给其他变量,后打开主窗体,或者先打开主窗体,再传递参数,都差不多,然后才关闭登陆窗体,当然电脑速度比较快,人脑没反应过来而已。
1。在工程中创建静态变量, 在上面中登陆窗体关闭时 ,给静态变量赋值,然后到了其他窗体,直接访问该静态变量就可以了。
2。在主窗体中创建窗体级变量, 打开主窗体的时候,把变量值传递过去。这样登陆窗体中的变量死了,但是该值在主窗体中复活了。
还有其他的,不一定适用,就不列举了。


[ 本帖最后由 wumingchenxi 于 2012-10-22 14:41 编辑 ]
2012-10-22 14:40
ZMGTCDY
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:51
专家分:115
注 册:2012-10-5
得分:0 
我是新手,感谢高手指点!!非常荣幸。
2012-10-22 17:12
ZMGTCDY
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:51
专家分:115
注 册:2012-10-5
得分:0 
昨天弄了半宿也没什么结果,真是水平有限呀。还请高手明示,最好用代码举例。真诚感谢!
2012-10-23 07:25
wumingchenxi
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:96
专家分:457
注 册:2012-6-6
得分:0 
第2种方法。
1。在主窗体Form2 中创建一个全局变量
public string localYear;

2。Form2准备迎接参数,手动修改
public Form2(){InitializeComponent();}
-->
public Form2(string year){
  InitializeComponent();
  this.localYear=year;
}

3。在登陆窗体Form1的登陆按钮事件中。
Form2 form2=new Form2(this.textboxYear.text); //上面2的修改,就是这边要用的。
form2.Show();
this.Close();

这种方法,登陆窗体中的Year已经转到了主窗体中的localYear,如果其他子窗体要用,那么在打开其他子窗体的时候,也可以用类似的方法把参数传给其他子窗体;
不过如果用到这个参数的窗体比较多的话,最好还是用方法1。省得传来传去。

[ 本帖最后由 wumingchenxi 于 2012-10-23 09:50 编辑 ]
2012-10-23 09:47
ZMGTCDY
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:51
专家分:115
注 册:2012-10-5
得分:0 
回复 5楼 wumingchenxi
您好!这几天我一直按你说的在作,可是没有结果,当然是我自身水平问题。这个问题已经困扰了我好长时间了,您能否用第一种方法用代码演示一下好吗,这对我很重要。再次感谢!
2012-10-24 22:41
ZMGTCDY
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:51
专家分:115
注 册:2012-10-5
得分:0 
回复 5楼 wumingchenxi


在登录窗体输入日期并关闭登录窗体后进入主窗体,在主窗体中打开“工资发放维护”窗体。能够将登录窗体中的报表日期传递到前当窗体的年份和月份本文框中。请大师帮忙。真诚感谢!
2012-10-25 16:01
ZMGTCDY
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:51
专家分:115
注 册:2012-10-5
得分:0 
设Form1 为主窗体
   Form2 为登录窗体
   Form3 为主窗体的子窗体
   Button1 为Form2上的按键(即进入Form3的按钮)
--------Form1---------
Public Class Form1
Public Year As String  
Public Year1 As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Form1.Load
me.Label1.Text=Year
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form3.Year1 = Label1.Text
End Sub
 --------Form2---------
在登录窗体 Form2 有登陆日期(年份)文本框 TextBox1
  
 Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Form1.Year= TextBox1.Text  'Year 登录窗体中的文本框输入的值,当登录窗体关闭后主窗体能获得登陆该值
    End Sub
--------Form3---------
Public Class Form3
Public Year1 As String
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
me.Label1.Text = Year1
 End Sub
这样,在登录窗体关闭后主窗体能获得此参数。此时主窗体是打开的,再单击进入其他窗体也能获得此项参数。其他参数以此类推。
这是我这几天的一点收获,也感谢各位高手!希望与爱好者共享。陈德勇
2012-10-26 18:19
sangle
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-27
得分:0 
好神奇
2012-10-27 20:59
lmch1216
Rank: 1
等 级:新手上路
威 望:1
帖 子:5
专家分:0
注 册:2012-11-1
得分:0 
简单啊, 用form 传值,就可以,


form1 代码:
dim a ,b ,c ,as string
a = textbox3.text   (年份)
b = textbox3.text     (月份)
当打开主窗体的时候就要立马载入“工资发放维护”船体
然后
combox1.text = a
combox2.text = b

这样就可以了

[ 本帖最后由 lmch1216 于 2012-11-1 17:15 编辑 ]
2012-11-01 17:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383712-1-1.html




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

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