日期:2014-05-17  浏览次数:20982 次

C#子窗体获取父窗体自定义控件里的信息
父窗体上添加自定义控件(两个Text文本框,1个Button),子窗体(2个文本框),先在文本框中输入账号,密码,点击按钮之后,隐藏父窗体,显示子窗体,问子窗体文本框中如何显示在自定义控件中输入的文本框内容????小白求指教

------解决方案--------------------

//父窗体中按钮事件
void btn_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(this.Controls["txt_Id"].Text.ToString(), this.Controls["txt_Name"].Text.ToString());
            f2.MdiParent = this;
            f2.Show();
        }

//子窗体
private string f2name;
        private string f2id;
        public Form2(string id,string name)
        {
            InitializeComponent();
            f2name = name;
            f2id = id;
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = f2id;
            textBox2.Text = f2name;
        }



------解决方案--------------------
有多种方法可以实现,父窗体把两个字符串当做参数传递给子窗体,或者在子窗体声明字段,父窗体new子窗体后给字段赋值然后再show子窗体。

#2的方法是当做参数穿值,顶一个
------解决方案--------------------
 public Form2(string id,string name)
 {
     InitializeComponent();
     f2name = name;
     f2id = id;
 }
你这不是获取到主窗体的数据了吗;
如何想直接访问自定义控件,就把自定义控件定义成 public的
然后加一个子窗体构造函数
Form1 frm1;
 public Form2(From1 frm)
 {
     frm1 = frm;
 }