C#怎么传递一个窗口内的数据让另外一个窗口使用

C#怎么传递一个窗口内的数据让另外一个窗口使用,第1张

1.webpage1,打开webpage2URL设定如下“web2?工号=111”2.web2pageload事件接收if(Request.QueryString["工号"]!=null){string工号=Request.QueryString["工号"].ToString()//然后拿工号需数据库查你的信息}

1、你可以传值到子窗体,但是你子窗体构造函数里面要定义一下,比如:

public Form2(string str)

{

this.Text = str

}

那么你在主窗体中创建子窗体就可以这样:

Form2 form2 = new Form2("我是窗体2")

form2.Show()

值就传过去了。

2、只要不是静态类,那么类就可以有无数个实例,他们都是独立的,既然是独立的自然不会重复,因为你没有办法在同一个方法里面使用同一个名称来创建2个实例,比如下面的代码:

private void button1_Click(object sender, EventArgs e)

{

Form2 form2 = new Form2("我是窗体2")

form2.Show()

Form2 form2 = new Form2("我是窗体2")

form2.Show()

}

你这样做不可能通过编译,会告诉你:已在此范围定义了名为“form2”的局部变量。你只要不在同一个方法内定义就行了,方法内定义的都属于局部变量,离开了方法体他们也就不存在了。

如果你想创建多个窗体而且能记住他们并且在整个类里面都能调用,那你得在类里面定义它,而不是方法中,比如:

Form2[] form2 = new Form2[5]

使用数组定义5个窗体,然后你可以分别把form2的实例赋给他们,这样你下次要调用某个你创建的form2实例的时候直接用form2[x]就可以访问到它了,定义在了类中,所以它在整个类中都存在,不是局部的变量。

最后在讲一下,传值到子窗体采用构造函数或者属性都是允许的,我看你需要先了解构造函数和属性的定义,把这些弄清楚了应该能明白了,以后如果子窗体给主窗体传值那么就需要用到事件,现在对你来说不是学习事件的最好时间,慢慢来吧,先弄清楚基本概念。

你在你的Book类中加一些公开的变量。如:BookName

public void Main_Load(object sender, EventArgs e)

{

comboBox1.SelectedIndex = 0

//comboBox2.SelectedIndex = 0

}

public void search_Click(object sender, EventArgs e)

{

Book formShow = new Book()

formShow.BookName=this.BookName//然后加上这个语句。就是传给子窗体了。假设this.BookName是你的主窗体中的一个变量。

this.Hide()

formShow.Show()

ListBox listBox1 = new ListBox()

if (comboBox1.SelectedIndex >= 0)

{

//listBox1.Items.Add(comboBox1.Text)

//comboBox1.Text = ""

//listBox1.Items.Add(comboBox2.Text)

//comboBox2.Text = ""

}

else

{

MessageBox.Show("没有选择要预订的宾馆或价格范围", "提示框")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10707791.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存