首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

Winfrom子窗体关闭时怎么为主窗体的TextBox赋值

2013-07-16 
Winfrom子窗体关闭时如何为主窗体的TextBox赋值子窗体中有个按钮,一个TextBox1,点击按钮时获取TextBox的值

Winfrom子窗体关闭时如何为主窗体的TextBox赋值
子窗体中有个按钮,一个TextBox1,点击按钮时获取TextBox的值,然后子窗体关闭,主窗体里TextBox显示TextBox1的值 Winfrom 窗体传值
[解决办法]
http://www.cnblogs.com/cosoft/archive/2011/08/08/2130659.html
[解决办法]
主窗体:
      按钮事件:
            Form2 frm = new Form2();
            if (frm.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = frm.TextValue;
            }
子窗体:
属性:        public string TextValue
        {
            get { return textBox1.Text; }
            set { textBox1.Text = value; }
        }
点击按钮事件:
            TextValue = textBox1.Text;
            this.DialogResult = DialogResult.OK;
[解决办法]
在子画面里

public string value = "";
        //点击时把子画面TEXTBOX里的值付给变量value
        private void button1_Click(object sender, EventArgs e)
        {
            value = this.textBox1.Text;
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            this.textBox1.Text = "123";


        }

        //子画面关闭时把变量value的值给予主画面的textBox1
        private void Form2_FormClosed(object sender, FormClosedEventArgs e)
        {
            ((Form1)this.Owner).textBox1.Text = value;
        }


在主画面里
Form2 frm = new Form2();
            frm.Owner = this;

[解决办法]
public partial class Form1 : Form
    {
        TextBox txtBox;
        public Form1()
        {
            InitializeComponent();
            this.Controls.Add(txtBox = new TextBox());
            Form2 f2 = new Form2();
            f2.ShowDialog(this);
            txtBox.Text = f2.txtBox.Text;
        }
    }

    class Form2 : Form
    {
        public TextBox txtBox;
        private Button btn;
        public Form2()
        {
            Control[] controls = 
            { 
                txtBox = new TextBox() { Location = new Point(0, 0) },
                btn = new Button() { Location = new Point(0, 20),Text="点击关闭窗口" } 
            };
            this.Controls.AddRange(controls);
            btn.Click += delegate(object sender, EventArgs e) { this.Close(); };


        }
    }

热点排行