首页 新闻 会员 周边

C#WinFormApp中,如何使别的窗体的控件去影响最初的Form1的控件的属性?

0
悬赏园豆:20 [已关闭问题] 关闭于 2012-09-27 21:38

例如,有两个窗体分别为Form1,Form2,Form1上有一个Button和一个TextBox,Form2上只有一个Button。先要求运行程序时先打开Form1,单击Form1上的Button打开Form2,再单击Form2上的Button在Form1的TextBox里显示一个字符串,诸如“Hello”之类的。虽然可以在Form1的Button1_Click方法中调用Form2,但是在Form2的Button1_Click方法如何写才能操作Form1呢?

并且,我发现Form1最初的加载是在Program类的Main()方法中,而且并没有给Form1对象一个显式的名字。

namespace WindowsFormsApplication1
{
    class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());//这里Form1对象没有显式的名字
        }
    }
}

而且就算在Main方法中声明Form1一个显式的名字,Form2类仍然无法调用。

还是烦请各位高手相助了!

飞鸟_Asuka的主页 飞鸟_Asuka | 菜鸟二级 | 园豆:209
提问于:2012-09-27 21:15
< >
分享
所有回答(1)
0
        //Form2
        private void button1_Click(object sender, EventArgs e)
        {
            Form1 fm1 = new Form1();
            fm1 = (Form1)this.Owner;
            fm1.Message = "Hello!";
        }
//Form1
        public string Message
        {
            get { return textBox1.Text; }
            set { textBox1.Text = value; }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 fm2 = new Form2();
            fm2.Owner = this;
            fm2.Show();
        }
飞鸟_Asuka | 园豆:209 (菜鸟二级) | 2012-09-27 21:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册