【问题标题】:Sending information to listbox from a class to a Form将信息从类发送到表单到列表框
【发布时间】:2012-11-07 11:19:08
【问题描述】:

我正在尝试将信息发送到一个列表框到一个类的表单。听起来很简单。但是,在方法运行后它不会显示任何内容。

这是我的类和方法“Testclass”,从表单一中调用

    public void testclass()
    {
        Form1 m = new Form1();
        int tostng = "36183464";
        m.listBox1.Items.Add(tostng).ToString();
    }

在 Form1 中,我有一个列表框,它的修饰符设置为“公共”,因此不会弹出错误。它会运行,但不会在列表框中输入任何内容。当一切都在 Form1 中时,此代码有效。

感谢您的关注。

【问题讨论】:

  • 您正在从 Form1 调用此方法,并希望在同一表单上向 listBox1 添加一些字符串值?顺便说一句,tostng 是什么,它的名字有int 变量,你为什么在Add 方法上调用ToString
  • @lazyberezovsky:是的,所以调用 Form1 上的方法,它会将您带到类上的一个方法,它可以将列表项添加到 Form1 上的列表框。感谢您指出已编辑的变量。

标签: c# winforms listbox


【解决方案1】:

您正在做的是创建表单的新实例 - 我想您正在尝试在现有表单的列表框中添加项目?

如果是这样,请这样做。

使用列表框在表单上创建一个函数,例如:

public void addItemToListBox(string item)
{
     listBox1.Items.Add(item);
}

然后,在类中(记得添加 using System.Windows.Forms 引用)

public void doStuff()
{
     //Change Form1 to whatever your form is called
     foreach (Form frm in Application.OpenForms)
     {
          if (frm.GetType() == typeof(Form1))
          {
               Form1 frmTemp = (Form1)frm;
               frmTemp.addItemToListBox("blah");

          }
     }
}

【讨论】:

  • 这非常有用 - 只需阅读“(记得添加 using System.Windows.Forms 参考)”哈哈。谢谢
  • 可能添加静态,尤其是添加整个列表时:public static void doStuff()
猜你喜欢
  • 1970-01-01
  • 2014-11-16
  • 2016-07-02
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
相关资源
最近更新 更多