private void Form2_Load(object sender, EventArgs e)
{
label1.Text = (((Form1)this.Owner).Controls["comboBox1"] as System.Windows.Forms.ComboBox).Text;
} 楼主需要注意的是:Form1 fm1 = new Form1();
label1.Text = fm1.customername; 这种写法相当于重新建了个Form,而不是你打开的那个Form1
因此值是不会有的。(Form1)this.Owner) 这样得到的是父窗体,这个才是你第一次打开的窗体!
{
label1.Text = (((Form1)this.Owner).Controls["comboBox1"] as System.Windows.Forms.ComboBox).Text;
} 楼主需要注意的是:Form1 fm1 = new Form1();
label1.Text = fm1.customername; 这种写法相当于重新建了个Form,而不是你打开的那个Form1
因此值是不会有的。(Form1)this.Owner) 这样得到的是父窗体,这个才是你第一次打开的窗体!
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private string customername;
public string CustomerName
{
get {return this.customername;}
set{this.CustomerName=this.customername}
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = this.customername;
}
}
}
namespace session
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private string xiaoname;
public string customername
{
get
{
return(xiaoname);
}
set
{
xiaoname=value;
}
}
private void button1_Click(object sender, EventArgs e)
{
Form2 fm2 = new Form2();
fm2.CustomerName =(string)comboBox1.ValueMember;
fm2.Show(); }
}
}
private Form1 fm1;
然后在Form2的构造函数中写:
public Form2(Form1 fm1)
{
InitializeComponent();
this.fm1 = fm1;
}
然后在Form1的button时间里这么调用:
if (comboBox1.Text == "teacher")
{
Form2 fm2 = new Form2(this);
fm2.Show();
}
这样你就可以直接在Form2中
private void Form2_Load(object sender, EventArgs e)
{
//Form1 fm1 = new Form1(); //注意这行已经被注释,不需要创建新的Form1实例.
label1.Text = fm1.customername;
}
怎么无法运行了??忘了说了,Form1中改成
Form2 fm2 = new Form2();
fm2.Show(this); //也就是表示这是弹出窗体Form1的父窗体
这样再在Form2中调用
label1.Text = (((Form1)this.Owner).Controls["comboBox1"] as System.Windows.Forms.ComboBox).Text;
Form2 fm2 = new Form2();
fm2.Show(this); ouc_ajax改的比较实惠,不错,谢谢楼上各位热心的朋友!!!
{
InitializeComponent();
}
Form2 f2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
f2.Show();
} private void button1_Click_1(object sender, EventArgs e)
{
f2.label1.Text = this.textBox1.Text;
}这是F1代码 你给F2的label1 改成public 就OK了 最简单了 再不然 就用 构造函数传过去
var form=new Form2(参数,参数………………);
form.ShowDialog(this);
你好
你做的方法让人看的头昏
我试了一下,也不行