C#不同窗体之间空间Enable属性控制 我想在Form1打开Form2,并且使得Form1中的textbox的Enable属性变为false,当Form2打开,工作完,关闭时候,让Form1的textbox1的Enable属性重置为true,请指导啊! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个就是窗体间传值的问题,方法有很多种,论坛也有前辈总结过这些方法,这里就不多说了。当你打开form2的时候,即Show(this)或者ShowDialog(this)的时候,将Form1的实例this传过去,然后在Form2关闭前的FormClosing事件里面获取到Form1的实例,然后通过Form1的实例来调用textbox的Enable属性就好了… 比如说:我在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) { } Form2 frm2 = new Form2();textBox1.Enabled = false;frm2.ShowDialog();textBox1.Enabled = true; 你这段代码应当放在哪里呢,如果放在Form1的事件中,那么它是在打开之后又重新变回true。并没有在Form2的事件处理中改变属性啊。另外,我的程序中,打开Form2用的是show,因为用Showdialog的话,我就没有办法从Form1中再打开别的窗口了,谢谢! 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); http://www.cnblogs.com/cosoft/archive/2011/08/08/2130659.html 求助!C#中为什么客户端无响应? 怎么获得am pm格式的时间 08:54 PM C#数据库连接时间的问题 构造函数的调用顺序问题 做播放器问题,顶者有分 如何从服务器端SQL数据库中下载数据覆盖本地ACCESS数据库中的内容 请问想用一个函数或方法实现返回来个值(一个为bool,一个为dataset)怎样实现!请大家帮忙!~ 关于多线程单例的疑惑 如何下载和删除已上传到服务器上的文件。 对于WinForm的MDI程序来说,怎样获得当前子窗体的属性,比如说:子窗体的窗体名称 c# 关于office word求助 XML父节点下多个同名子节点读取
当你打开form2的时候,即Show(this)或者ShowDialog(this)的时候,将Form1的实例this传过去,然后在Form2关闭前的FormClosing事件里面获取到Form1的实例,然后通过Form1的实例来调用textbox的Enable属性就好了…
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)
{
}
textBox1.Enabled = false;
frm2.ShowDialog();
textBox1.Enabled = true;
另外,我的程序中,打开Form2用的是show,因为用Showdialog的话,我就没有办法从Form1中再打开别的窗口了,谢谢!
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中弹窗Form2 frm2 = new Form2();
//在Form2关闭是置为true,其他事件类似
frm2.FormClosed += (obj, evt) => (this.Owner as Form1).textBox1.Enabled = true;
textBox1.Enabled = false;
frm2.Show(this);