C# 如何将Form 1 listview值传递给Form 2文本框?
我是c新手,正在编写一个简单的应用程序,希望将Form1 listview值传递给Form2文本框。那么,如何将这些子项传递到Form 2文本框C# 如何将Form 1 listview值传递给Form 2文本框?,c#,winforms,C#,Winforms,我是c新手,正在编写一个简单的应用程序,希望将Form1 listview值传递给Form2文本框。那么,如何将这些子项传递到Form 2文本框 private void Form1_Load(object sender, EventArgs e) { ListViewItem item = new ListViewItem("ITEM1"); item.SubItems.Add("ITEM2"); ite
private void Form1_Load(object sender, EventArgs e)
{
ListViewItem item = new ListViewItem("ITEM1");
item.SubItems.Add("ITEM2");
item.SubItems.Add("ITEM3");
listView1.Items.AddRange(new ListViewItem[] { item });
}
private void button1_Click(object sender, EventArgs e)
{
Form2 newForm = new Form2();
newForm.Show();
}
为此,您需要在Form2类中声明属性:
public class Form2
{
public ListViewItem[] Items{get;set;}
//your code
}
然后可以将listView1.Items传递给form2:
private void button1_Click(object sender, EventArgs e)
{
Form2 newForm = new Form2();
newForm.Items = listView1.Items; // pass items to form2
newForm.Show();
}
然后在form2加载事件处理程序中获取必要的值,并将其设置为form2的文本框:
public class Form2
{
public ListViewItem[] Items{get;set;}
private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = Items[0].SubItems[0].Text; // or your logic here in this handler
}
//your code
}
您可以像这样修改Form2的构造函数
public partial class Form2 : Form
{
public Form2(ListViewItem item)
{
InitializeComponent();
textBox1.Text = item.Text; // item.Subitems[index].Text if you want the value of subitems
}
}
当您创建表单时,您会像这样传入项
private void createNewForm()
{
Form2 f = new Form2(listView1.Items[0]); // to pass the first item in this case
f.Show();
}
请参见以下网页上的我的双表单项目。您需要在Form2中调用从form1中获取输入的方法。哦,不!别再这样了!关于堆栈溢出的最常被问到的问题再次出现。回答这些问题的人的重要注意事项:当一个人键入此标题时,他们将在“提交”按钮之前的堆栈溢出UI中看到指向几乎相同的问题的多个链接,这些问题的答案已经给出。要单击提交,他们必须忽略之前的所有答案。如果你的答案与之前的答案没有什么不同,那么是什么让你认为提问者不会忽视你的答案呢?谢谢。那就行了