C#在子窗体中更改父窗体的某一属性 C#中,想在子窗体中更改父窗体的某一属性,如某一控件的可访问性该怎么做呢?请高手指点! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如某一控件的可访问性该怎么做呢?请高手指点!控件的可访问性,你要修改恐怕不行,那是类定义时,已经确定的了。除非你这么绕着去做,通过子窗体设置父窗体的一个bool的属性,设置为false后,下次子窗体访问父窗体,父窗体的控件属性,判断为false,就返回nullpublic TextBox txtBox{ get { if(条件==true) return this.textBox1; return null; }} public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(); frm2.Show(this); } public bool MenuStripState { set{this.MenuStrip.Enable=value;} } } public partial class Form2 : Form { private void button1_Click(object sender, EventArgs e) { Form1 frm1 = (Form1)this.Owner; ((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text; this.Close(); //frm1.MenuStripState } } 还可使用委托 参考 form间通信,主form中 添加 修改属性的方法,子form的构造函数要带一个主form的参数 if (this.OnConnectionAdd != null) { OnConnectionAdd(sb.ToString()); } this.DialogResult = DialogResult.OK; public delegate void ConnectionAddEventHandler(string conn); public event ConnectionAddEventHandler OnConnectionAdd;//增加一个数据库连接时触发的事件子类定义事件并触发frmConn.OnConnectionAdd += new FrmConnection.ConnectionAddEventHandler(ConnectionAdd);父窗体订阅事件就行了 文件路径的问题 javascript如何获得Cookie 怎么在两个窗体中进行值的传递? 抓网页的小程序,为什么只能取到比较少的一部分网页代码? c#在气象上的应用 文件存入Oracle数据库的BLOB类型(大对象)字段的代码,并问些相关问题 在c#中如何制作dll文件,给powerbuilder调用? 请问"跳转"这个功能是怎么实现? 强制转换问题 100分,如何实现类似于word的这个功能? 调试问题。。 几个最初学者菜鸟问题(有点代表性)
public TextBox txtBox
{
get
{
if(条件==true)
return this.textBox1;
return null;
}
}
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
public bool MenuStripState
{
set{this.MenuStrip.Enable=value;}
}
} public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
//frm1.MenuStripState
}
} 还可使用委托
if (this.OnConnectionAdd != null)
{
OnConnectionAdd(sb.ToString());
}
this.DialogResult = DialogResult.OK; public delegate void ConnectionAddEventHandler(string conn);
public event ConnectionAddEventHandler OnConnectionAdd;//增加一个数据库连接时触发的事件子类定义事件并触发
frmConn.OnConnectionAdd += new FrmConnection.ConnectionAddEventHandler(ConnectionAdd);父窗体订阅事件就行了