[英]C# - Fill Listview in a different form - VS2015
I have 2 forms. 我有两种形式。 Form 1 which shows a ListView and Form 2 a button called button1.
窗体1显示一个ListView,窗体2显示一个名为button1的按钮。 What I'm trying to do is when the button on form 2 is clicked.
我想做的是单击窗体2上的按钮时。 I want it to fill the Listview on form1.
我希望它填充form1上的Listview。
The listview has 3 columns; listview有3列; Flavour Quantity Sub-Total
风味数量小计
When the button1 is pressed, it should show Vanilla, 1, £1.00 in the listview on form1. 按下button1时,它将在form1的列表视图中显示Vanilla,1,£1.00 。
I'm able to do this if the listview is on the same form as the button, but not if it's on different forms. 如果列表视图与按钮具有相同的形式,则可以执行此操作,但是如果表单具有不同的形式,则不能。
Form1 表格1
public partial class form1: Form
{
public form1()
{
InitializeComponent();
}
Form2 表格2
public partial class form2: Form
{
public form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ListViewItem lvi = new ListViewItem("Vanilla");
lvi.SubItems.Add("1");
lvi.SubItems.Add("£1.00");
listView1.Items.Add(lvi);
}
Create a reference of form1
in form2
like this: 像这样在
form2
创建form1
的引用:
class Program {
static void Main() {
var form1 = new Form1();
var form2 = new Form2(form1);
}
}
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
}
public void DoStuff(ListViewItem lvi) {
// TODO: Stuff
}
}
public partial class Form2: Form
{
private Form1 _form1;
public form2(Form1 form1)
{
InitializeComponent();
_form1 = form1;
}
private void button1_Click(object sender, EventArgs e)
{
ListViewItem lvi = new ListViewItem("Vanilla");
lvi.SubItems.Add("1");
lvi.SubItems.Add("£1.00");
listView1.Items.Add(lvi);
_form1.DoStuff(lvi);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.