1

別のフォームからフォーム内の listBox にテキストを追加しようとしていますが、listBox に追加するコードに赤い下線が表示されます。私がやろうとしている別のクラスからクラスのフォームにデータを渡すことはできませんか? VisualStudio 2010 を使用しています

MainForm クラスで使用しているこのコードがあります。

// Local object of SearchResultForm
SearchResultForm frmSearchResult = new SearchResultForm();
frmSearchResult.Show();
frmSearchResult.lstSearchResult.Items.Add("Test");

エラー メッセージ: 保護レベルのためアクセスできません

4

2 に答える 2

2

混乱していますね。

次のことを前提とします。

  • frmSearchResult - フォームの名前
  • myDDL -DropDownList後者の形式でネストされている

ドロップダウンに新しいアイテムを追加するには、

frmSearchResult.myDDL.Items.Add(new ListItem("New item!", "some-value"));

編集:

frmSearchResult新しい項目を追加できる新しい public メソッドを作成します

public void addNewListItem(string sText, string sValue){
    myDDL.Items.Add(new ListItem(sText, sValue));
}

そしてaddNewListItem、最初のフォームから呼び出します:

frmSearchResult.addNewListItem("New item!", "some-value");
于 2012-05-13T12:26:13.240 に答える
1

コントロールは通常変数なので、Winforms でこれを試してください:

frmSearchResult.lstSearchResult.Add("Test");

WPF:

frmSearchResult.lstSearchResult.Items.Add("Test");
于 2012-05-13T12:20:44.317 に答える