黑马程序员技术交流社区
标题:
窗体应用中怎么实现新建窗体和原有窗体之间传值 ?
[打印本页]
作者:
不是炎亚纶
时间:
2013-10-31 01:06
标题:
窗体应用中怎么实现新建窗体和原有窗体之间传值 ?
本帖最后由 不是炎亚纶 于 2013-10-31 18:05 编辑
这个貌似很难,先谢谢大家了 。
作者:
淡忘回忆
时间:
2013-10-31 12:07
定义一个全局static 变量,在一个窗体中赋值,在另一个窗体中取
static是全局的,可以取到
作者:
茹化肖
时间:
2013-10-31 12:29
委托 。或者全局静态变量
作者:
凤凰涅槃
时间:
2013-10-31 16:45
属性传值个人认为比较简单 在要传值的窗体将传递的值设为共有属性 在另外窗体中就可以访问
作者:
凤凰涅槃
时间:
2013-10-31 17:37
我之前做的一个简单练习仅供参考:
主窗体主要代码:
private void button1_Click(object sender, EventArgs e)
{
//实例化子窗体
ChildForm childform = new ChildForm();
childform.Show();
//为子窗体注册Closed事件
childform.Closed += new EventHandler(form_Closed);
}
private void form_Closed(object sender, EventArgs e)
{
//通过属性获得子窗体中文本框中的值
ChildForm childform1 = (ChildForm)sender;
this.lab_nickname.Text = childform1.nickname;
this.lab_password.Text = childform1.password;
this.lab_passw.Text = childform1.password;
this.lab_sex.Text = childform1.sex;
this.lab_age.Text = childform1.age.ToString();
this.lab_location.Text = childform1.location;
}
子窗体主要代码:
public string nickname { get; set; }
public string password { get; set; }
public string sex { get; set; }
public int age { get; set; }
public string location { get; set; }
private void ChildForm_Load(object sender, EventArgs e)
{
//初始化comboBox值
comboBox1.SelectedIndex = 0;
comboBox2.SelectedIndex = 0;
ControlBox = false;
}
private void button1_Click(object sender, EventArgs e)
{
//为各个属性赋值
if ((textBox1.Text != "") & (textBox2.Text != "") & (textBox3.Text != "") & (textBox2.Text == textBox3.Text))
{
nickname = textBox1.Text.Trim();
password = textBox2.Text.Trim();
if (radioButton1.Checked == true)
{
sex = radioButton1.Text.Trim();
}
else if (radioButton2.Checked == true)
{
sex = radioButton2.Text.Trim();
}
age = Convert.ToInt32(numericUpDown1.Value);
location = comboBox1.Text + comboBox2.Text;
this.Close();
}
else if ((textBox1.Text != "") & (textBox2.Text != "") & (textBox3.Text != "") & (textBox2.Text != textBox3.Text))
{
MessageBox.Show("密码不一致!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox2.Text = "";
textBox3.Text = "";
textBox2.Focus();
}
else
{
MessageBox.Show("每一项都不能为空!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
C:\Users\Administrator\Desktop\001.jpg
作者:
凤凰涅槃
时间:
2013-10-31 17:39
001.jpg
(24.83 KB, 下载次数: 36)
下载附件
上面代码界面
2013-10-31 17:38 上传
作者:
不是炎亚纶
时间:
2013-10-31 18:04
凤凰涅槃 发表于 2013-10-31 17:39
非常感谢 :hug:
作者:
追影
时间:
2013-11-1 08:10
凤凰涅槃 发表于 2013-10-31 17:39
这个排版好哎,支持一下
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2