根据您在form1中单击的按钮显示form2中的数据

时间:2018-06-02 14:28:03

标签: c#

你知道如何根据你在form1中点击的按钮在form2中显示数据吗?例如,form1中有三个按钮,您必须单击三个按钮中的一个。单击一个按钮后,将出现一个form2,其中包含您在form1中单击的按钮的信息。

无论如何我使用了visual studio。谢谢

2 个答案:

答案 0 :(得分:0)

您可以在Form1中创建一个字符串变量,并在Form1上的按钮的事件处理程序中设置您的字符串变量,其中包含您要发送到Form2的所需信息。

然后,每当您想要显示Form2时,将该字符串变量发送到Form2的构造函数。当然,您必须在Form2中添加一个带有字符串参数的构造函数。

您的代码应如下所示:

string info;

private void Button1_Click(object sender, EventArgs e)
{
    info = "Information you need to send";
}

private void ShowForm_Click(object sender, EventArgs e)
{
    Form2 form = new Form2(info);
    form.Show();
}

你的Form2应该是这样的:

public partial class Form2 : Form
{
    private string info;

    public Form2(string s)
    {
         // "s" is the string sent from form1 containing the needed information
         info = s;
    }

    // Use the string info to show in any event handler in Form2 let's say the Form_Load
    private void Form2_Load(object sender, EventArgs e)
    {
        MessageBox.Show(info, "Data from Form1");
    }
}

答案 1 :(得分:0)

您必须定义两个表单,并在第一个按钮事件中,调用第二个表单的构建器并传递有关该按钮的信息。

private void button1_Click(object sender, EventArgs e)  
{ 
    string data1= "data button 1";
    List<int>  data2 = new list<int>();
    data2.add(1);
    data2.add(3);
    Form2 frm2 = new Form2(data1,data2);  
    frm2.Show();  
}  

现在form2在构造函数中:

List<int> listnumber =new List<int>();
string button_Name=string.Empty;
public Form2()
{
}

public Form2(string button_name,List<int> data2)
{
    this.button_Name = button_name;
    this.listnumber = data2;
}