由于Windows Phone 8.1中的保护级别错误,列表框无法访问

时间:2015-04-09 06:52:14

标签: c# windows-phone-8.1

我试图将一些文本添加到表单中的listBox,从另一种形式,但我在应该添加到listBox的代码中得到红色下划线。是不是可以将数据传递到我试图做的另一个类的类中的表单?我使用的是VisualStudio 2013

我有这个代码我在MainForm类中使用:

    // Local object of SearchResultForm
    SearchResultForm frmSearchResult = new SearchResultForm();
    frmSearchResult.Show();
    frmSearchResult.listBox.IsEnabled == false;

错误消息:由于受保护级别而无法访问

2 个答案:

答案 0 :(得分:2)

您的listBox似乎是private的{​​{1}}成员;这意味着它无法从SearchResultForm课程外部访问。您可以制作SearchResultForm变量listBoxpublic,但更好的方法是在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;

它会工作请尝试一次。