给你个例子。
Form1里面有一个textbox,和一个按钮,点击这个按钮打开窗体 FormTest 
FormTest里面也有一个textbox和一个按钮,点这个按钮把这个textbox里面的值
传回给Form1的textbox里面。
VS2005测试通过,和你的这个原理一样,因为时间问题就简单写了一个
Form1窗体
        private void btnAlert_Click(object sender, EventArgs e)
        {
            FormTest ft = new FormTest();
            ft.Owner = this;
            ft.ShowDialog();
        }
        public void Refresh_Method(String str)
        {
            txtP.Text = str;
        }FormTest窗体        private void btnS_Click(object sender, EventArgs e)
        {
            TestValue = this.txtS.Text.ToString();
            Form1 f1 = (Form1)this.Owner;
            f1.Refresh_Method(TestValue);
            this.Close();
        }
        private string testValue;
        public String TestValue 
        {
            get { return testValue; }
            set { this.testValue = value; }
        }一个原理!