比如你现在在form1 里添加一个共有的方法叫做
public void SetStudentText(string text)
{
this.student.Text=text;
}
public string GetStudentText()
{
return this.student.Text;
}
你再form2 中实例化
把这个写成全局的
Form1 form=null;
form=new Form1();
然后你想改变Form1中的text值 就只需要修改text
调用
form.SetStudentText("123456");
form1的那个student那个textbox的text属性就变味123456了
需要赋值
调用
form.GetStudentText();就可以了
你说的那种方法也可以不过比较麻烦
参考一下这个提问
http://zhidao.baidu.com/question/269960473.html
在Program里 建一个结构体;里面定义一个静态变量,这个变量在FORM1 和FORM2 中可以通用;直接赋值取值就好;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Form1Form2
{
public struct mm
{
public static string m;
};
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
FORM1
mm.m = textBox1.Text;
FORM2
textBox1.Text = mm.m;
For example,将Form2中的textbox控件textUnit中的值传入Form1:
在Form2.Designer.cs中将私有变量private改为public System.Windows.Forms.TextBox textUnit;
然后在Form1中先定义下窗口:Form2 OpMessage = new Form2();然后就可以直接引用Form2中所有控件的值了:xlSheet.Cells[i + 4, 1] = OpMessage.textUnit;
网页链接