我试图将一些文本添加到表单中的listBox,从另一种形式,但我在应该添加到listBox的代码中得到红色下划线。是不是可以将数据传递到我试图做的另一个类的类中的表单?我使用的是VisualStudio 2013
我有这个代码我在MainForm类中使用:
// Local object of SearchResultForm
SearchResultForm frmSearchResult = new SearchResultForm();
frmSearchResult.Show();
frmSearchResult.listBox.IsEnabled == false;
错误消息:由于受保护级别而无法访问
答案 0 :(得分:2)
您的listBox
似乎是private
的{{1}}成员;这意味着它无法从SearchResultForm
课程外部访问。您可以制作SearchResultForm
变量listBox
或public
,但更好的方法是在internal
类中创建一个类似于:
SearchResultForm
然后从主表单中执行:
public void AddItemToListBox(string text)
{
listBox.Items.Add(text);
}
通过这种方式,您可以在不公开 // Local object of SearchResultForm
SearchResultForm frmSearchResult = new SearchResultForm();
frmSearchResult.Show();
frmSearchResult.AddItemToListBox("test");
类实现细节的情况下更新listBox。
答案 1 :(得分:0)
在这里向您的类SearchResultForm类添加一个参数我的类是showvideolbx
public class showvideolbx
{
public ListBox SVListBox { get; set; }
}
将ListBox Id分配给类参数
showvideolbx lbbox = new showvideolbx();
lbbox.SVListBox = lbxSongsList;
然后现在调用Create类,然后将ListBox参数调用为
showvideolbx svlbox;
if (svlbox.SVListBox.IsEnabled == false)
svlbox.SVListBox.IsEnabled = true;
它会工作请尝试一次。