读书人

C#不同班体之间空间Enable属性控制

发布时间: 2013-08-26 12:17:40 作者: rapoo

C#不同窗体之间空间Enable属性控制
我想在Form1打开Form2,并且使得Form1中的textbox的Enable属性变为false,当Form2打开,工作完,关闭时候,让Form1的textbox1的Enable属性重置为true,请指导啊!
[解决办法]

引用:
比如说:我在Form1中代码是这样的:
public static Form1 frm1 = new Form1();
private void textBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
Form2 frm2 = new Form2();
textBox1.Enabled = false;
frm2.Show(frm1);
}
在Form2的 时间中如何修改textbox1.Enabled=true呢
private void button1_Click(object sender, EventArgs e)
{

}


FORM1中:
public TextBox TB
{
get{return textbox1;}
}
private void textBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
Form2 frm2 = new Form2();
textBox1.Enabled = false;
frm2.Show(this);
}
FORM2中:
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
//至于是什么情况下关闭的根据你的情况判断
Form1 f1=(Form1)this.Owner;
f1.TB.Enabled=true;
}

[解决办法]
把Form1的textBox1的Modifiers改为internal或public
然后在Form1中弹窗

Form2 frm2 = new Form2();
//在Form2关闭是置为true,其他事件类似
frm2.FormClosed += (obj, evt) => (this.Owner as Form1).textBox1.Enabled = true;


textBox1.Enabled = false;
frm2.Show(this);

读书人网 >C#

热点推荐