【发布时间】:2012-08-13 16:24:56
【问题描述】:
我在一个 C# 程序中有一个三列 ListView(这些列是使用 Visual Studio 设计器定义的),我试图用另一个表单中的数据填充它,我尝试使用位于同一类中的这个函数作为 ListView(Input 类),但从另一种形式(HandleData 类)的按钮的单击事件中调用。
public void agregarALista(string label, string longitud,string cantidad)
{
ListViewItem i = new ListViewItem(label);
i.SubItems.Add(longitud);
i.SubItems.Add(cantidad);
listView1.Items.Add(i);
}
在调试时,我可以看到它执行了这些行,因此调用正常,但没有数据添加到我的 listView1。
你认为这可能是什么?
这是另一种形式的调用函数,位于 HandleData 类中:
private void button1_Click(object sender, EventArgs e)
{
Input agregarView = new Input();
double dOutput = 0;
if (Double.TryParse(textBox2.Text,out dOutput))
{
agregar.agregarLista(textBox1.Text, textBox2.Text, textBox3.Text);
agregarView.agregarALista(textBox1.Text, textBox2.Text, textBox3.Text);
if (MessageBox.Show("Continuar agregando?","Otra orden", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}
else
{
this.Dispose();
this.Close();
}
}
else
{
MessageBox.Show("No es una Longitud Valida");
textBox2.Clear();
}
}
【问题讨论】:
-
你试过打电话给
listView1.Refresh();吗? -
你能发布设置列表视图的代码吗?在尝试添加项目之前,您是否在列表视图中添加了列?
-
嗨,我使用 Visual Studio 设计编辑器添加了列,甚至尝试使用硬编码字符串在同一个类中调用该函数,并且它有效,我真正的问题是,我该如何调用它另一个类的函数,以便它能够修改 listView1?