1. 父窗体给子窗体传值
点击父窗体的Button 打开子窗体后,将父窗体的属性值传给子窗体
可以调用重载子窗体的构造函数 直接传入相关数值
举例:(在一个项目中用到的实例)
public 修改规则() { InitializeComponent(); } //父窗体传值给子窗体 public 修改规则(int ruleId,int equipmentId,String equipmentName,String propertyName,int ruleType,String ruleRequest,String ruleRequestOther,String ruleExplain) { InitializeComponent(); try { this.textBox1.Text = ruleId.ToString(); this.textBox3.Text = equipmentId.ToString(); this.textBox2.Text = equipmentName; if (ruleType==1) { this.comboBox5.Text = "范围匹配类型"; } else if (ruleType == 2) { this.comboBox5.Text = "标准格式类型"; } else if (ruleType == 3) { this.comboBox5.Text = "精确描述类型"; } else if (ruleType == 4) { this.comboBox5.Text = "逻辑关联类型"; } else { this.comboBox5.Text = "无"; } this.textBox4.Text = propertyName; this.textBox5.Text = ruleRequest; this.textBox6.Text = ruleRequestOther; this.textBox7.Text = ruleExplain; }catch(Exception ex){ Console.WriteLine(ex); } }
2. 子窗体给父窗体传值
点击父窗体后弹出子窗体,在子窗体选择一系列属性值后,将选择的值传给父窗体
一个在项目中用到的例子:
子窗体代码:
private void button1_Click(object sender, EventArgs e) { 规则配置 form = (规则配置)this.Owner; form.TextValue = getRadioButton(panel1); this.Close(); }父窗体代码:
属性选择 form = new 属性选择(this.textBox2.Text.Trim() + "$",text_list.Count,text_list); form.Owner = this; form.ShowDialog(); this.textBox4.Text = textValue;