C#中,想在子窗体中更改父窗体的某一属性,如某一控件的可访问性该怎么做呢?请高手指点!

解决方案 »

  1.   

    如某一控件的可访问性该怎么做呢?请高手指点!控件的可访问性,你要修改恐怕不行,那是类定义时,已经确定的了。除非你这么绕着去做,通过子窗体设置父窗体的一个bool的属性,设置为false后,下次子窗体访问父窗体,父窗体的控件属性,判断为false,就返回null
    public TextBox txtBox
    {
       get
       {
          if(条件==true)
             return this.textBox1;
          return null;
       }
    }
      

  2.   

    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
      }  
      }  还可使用委托  
      

  3.   

    参考 form间通信,主form中 添加 修改属性的方法,子form的构造函数要带一个主form的参数
      

  4.   


                    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);父窗体订阅事件就行了