我有Form1和Form2,在Form1中我有一些文本框,如用户名,密码等...以及一个文本框“region”。当用户点击“region”(Form1.hide()),然后Form2打开时,会有5个带有区域名称的标签。
那么当用户点击Form2中的区域名称时,我怎么能做到这一点,Form1上会有区域?并保留用户在区域点击之前输入的所有数据。
类似的东西(表2):
private void center_Click(object sender, EventArgs e)
{
this.Hide();
Form1.region = "center";
Form1.show();
}
答案 0 :(得分:0)
表格2
private void center_Click(object sender, EventArgs e)
{
Form1 frm1 = new Form1();
frm1.textbox_region = whateverobject.text;
this.hide();
frm1.show();
}
这将显示一个带有区域文本的form1。
答案 1 :(得分:0)
尝试创建Form2的实例并调用ShowDialog()
方法来显示它
Form2 form2= new Form2();
form2.ShowDialog();
答案 2 :(得分:0)
创建Form2时,只需将Form1作为参数传递,然后在点击事件中编辑文本框值。
在form1上:
private void click_on_region(object sender, EventArgs e)
{
this.Hide();
Form2 frm2 = new Form2(this);
Form2.Show();
}
表2上的:
Form1 _frm1;
public Form_Main(Form1 frm)
{
InitializeComponent();
_frm1 = frm;
}
private void center_Click(object sender, EventArgs e)
{
this.Hide();
_frm1.textBox_region.Text = whateverobject.Text;
_frm1.Show();
}
这可能不是最漂亮的,但它会为初学者做的。
答案 3 :(得分:0)
表单1代码
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 objForm2 = new Form2();
objForm2.ShowDialog();
textBox_Region.Text = objForm2.RegionName;
}
}
表格2代码
public partial class Form2 : Form
{
public string RegionName
{
get
{
return textBox_Form2_Region.Text.ToString();
}
set { }
}
public Form2()
{
InitializeComponent();
}
}