C# 是否在表单中添加到列表框?

C# 是否在表单中添加到列表框?,c#,winforms,C#,Winforms,我试图从另一个表单向表单中的列表框添加一些文本,但代码中有红色下划线,应该添加到列表框中。难道我不可能从另一个类向一个类中的表单传递数据吗?我正在使用VisualStudio2010 我在MainForm类中使用了以下代码: // Local object of SearchResultForm SearchResultForm frmSearchResult = new SearchResultForm(); frmSearchResult.Show(); frmSearchResult.ls

我试图从另一个表单向表单中的列表框添加一些文本,但代码中有红色下划线,应该添加到列表框中。难道我不可能从另一个类向一个类中的表单传递数据吗?我正在使用VisualStudio2010

我在MainForm类中使用了以下代码:

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

错误消息:由于控件的受保护级别而无法访问。控件通常是一个变量,因此请在Winforms中尝试以下操作:

frmSearchResult.lstSearchResult.Add("Test");
WPF:

你很困惑

假设如下:

  • frmSearchResult—表单的名称
  • myDDL—嵌套在后一种形式中的
    DropDownList
为了向下拉列表中添加新项目

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

frmSearchResult
中创建一个新的公共方法,允许您添加新项

public void addNewListItem(string sText, string sValue){
    myDDL.Items.Add(new ListItem(sText, sValue));
}
然后从第一个表单调用
addNewListItem

frmSearchResult.addNewListItem("New item!", "some-value");

地铁WinForms?WPF?银灯?ASP.Net?MonoTouch?出现了什么错误?错误消息与代码段不匹配。错误表明您没有使用
lstSearchResult
。如果不工作,我会在lstSearchResult下显示一条红色下划线,并显示一条消息,说明由于其受保护级别而无法访问!?然后将控制变量创建为
受保护的列表框lstSearchResult
。可以将控件的modifies属性更改为public。然后您可以访问控件。除此之外,您是否考虑过创建一个公共方法(
public void AddToListbox(string value)
)来添加到列表框中?嗯,对不起,我对这类事情不太熟悉!如何将控制变量更改为不受保护?我尝试创建一个方法它是一个属性,当您在设计器中时,属性包含一个修饰符条目。这被设置为受保护,并且应该是一个下拉列表,其中也包含public。就我个人而言,我会选择这种方法,因为它是一种更干净的方法。嗯,不工作时,由于它的保护级别,我会得到一些关于不可访问的错误!?为什么(new ListItem(..?我选择方法替代方案,但我不认为在代码中使用新ListItem有什么意义?请解释为什么,没有!(new ListItem(sText,sValue));
new ListItem()
包含一个重载,允许您设置ListItem的值,是否使用此重载取决于您的需要,由您决定ListItem的值是否对应用程序至关重要(-:
frmSearchResult.addNewListItem("New item!", "some-value");