![](/img/trans.png)
[英]C#, WinForms: ListBox.Items.Add generates an OutOfMemoryException, why?
[英]C# ListBox.Items.Add in other class
我最近才刚开始使用C#,我知道以前曾有人问过这个问题,但所有这些都是我无法真正掌握的复杂示例。 这是我的简单示例。
我正在尝试从添加的类向列表框添加字符串。 它可以正常编译,但是“ TEST”没有添加到ListBox中
Form1.cs
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ListBoxAdder myAdder = new ListBoxAdder();
myAdder.Testing();
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
ListBoxAdder.cs
namespace WindowsFormsApplication1
{
class ListBoxAdder : Form1
{
public void Testing()
{
listBox1.Items.Add("TEST");
}
}
}
我假设由于创建“ ListBoxAdder”的另一个实例而没有任何反应? 但是我不能使其成为静态,因为我不能使Testing()成为静态,否则将无法访问listBox1
。
namespace WindowsFormsApplication1
{
class ListBoxAdder
{
ListBox listBox;
public ListBoxAdder (ListBox listBox)
{
this.listBox = listBox;
}
public void Testing()
{
listBox.Items.Add("TEST");
}
}
}
和:
private void button1_Click(object sender, EventArgs e)
{
ListBoxAdder myAdder = new ListBoxAdder(listBox1); // pass ListBox instance here
myAdder.Testing();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.