如何从另一种形式显示现有表格?

时间:2017-10-06 11:17:51

标签: c# winforms

我有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();
    }

4 个答案:

答案 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();
    }
}