我如何传递值从form2文本框到列表框值在formn1 c#

本文关键字:列表 formn1 文本 何传递 form2 | 更新日期: 2023-09-27 18:02:39

Code From Form1

 private void EditBtn_Click(object sender, EventArgs e)
 {
  Form2 frm = new Form2(textBox1.Text);
  frm.ShowDialog();
  frm.Show();
 }

表格2中的代码

 public partial class Form2 : Form
    {
    private object listBox1;
    public Form2(string value)
    {
        InitializeComponent();
        textBox1.Text = value;
    }
    private void Form2_Load(object sender, EventArgs e)
    {
    }
    private void button1_Click(object sender, EventArgs e)
     {
          Form1.show();
      }
   }
}

我如何传递值从form2文本框到列表框值在formn1 c#

我不确定你是否想同时打开两个窗体。如果你想保持它打开,并添加项目到Form1的列表框,那么有一个答案

public partial class Form1 : Form
{
    private void EditBtn_Click(object sender, EventArgs e)
    {
        // listBox1 is already set on the designer
        Form2 frm = new Form2(textBox1.Text, listBox1);
        frm.ShowDialog();
        frm.Show();
    }
}
public partial class Form2 : Form
{
    private ListBox _listBox1;
    public Form2(string value, ListBox listBox1)
    {
        InitializeComponent();
        textBox1.Text = value;
        _listBox1 = listBox1;
    }
    private void Form2_Load(object sender, EventArgs e)
    {
    }
    private void button1_Click(object sender, EventArgs e)
    {
        _listBox1.Items.Add("returned Value");
    }
}

建议如下:

ListBoxButton加入Form1。将ListBox设置为公共和静态,如下面的代码片段所示,以便从Form2

访问它
 public static System.Windows.Forms.ListBox listBox1;

使按钮按下面的方式点击事件

 private void LoadForm2Btn_Click(object sender, EventArgs e)
 {
     Form2 form = new Form2();
     form.ShowDialog();
 }

现在添加另一个表单Form2。向其添加一个文本框和按钮。使按钮点击事件如下所示

 private void UpdateBtn_Click(object sender, EventArgs e)
 {
     if (UpdateBtn.Text != string.Empty)
         Form1.listBox1.Items.Add(textBox1.Text);
 }

现在,运行程序。点击Form1中的"LoadForm2Btn"按钮打开Form2。在Form1的"列表框"中输入要添加的文本,然后单击"更新"按钮。您的文本将被添加到列表框