1

クラスからフォームのリストボックスに情報を送信しようとしています。シンプルに聞こえます。ただし、メソッドの実行後は何も表示されません。

これは、フォーム 1 から呼び出されている私のクラスとメソッド 'Testclass' です。

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

Form1には、モディファイアが「パブリック」に設定されているリストボックスがあるため、エラーは表示されません。実行されますが、リストボックスには何も入力されません。このコードは、すべてが Form1 にある場合に機能します。

ご覧いただきありがとうございます。

4

1 に答える 1

3

あなたがしているのは、フォームの新しいインスタンスを作成することです.既存のフォームのリストボックスにアイテムを追加しようとしていると思いますか?

もしそうなら、これをしてください。

次のようなリストボックスを使用して、フォームに関数を作成します。

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");

          }
     }
}
于 2012-11-07T11:34:20.637 に答える