0

リストボックスがあり、別のクラスでリストボックスの選択された値にアクセスしようとしていますが、公開されていないためアクセスできないと表示されます。ラベルへのアクセスにも同じ問題があります。

 public dataCollector(string i)
    {
        string tag = i;
    }
    public string dataCollector()
    {
        Form1 f = new Form1();
        string workingDirectory = Directory.GetCurrentDirectory();
        var xmlFile = XDocument.Load(workingDirectory + @"\modules.xml");

        var name = from d in xmlFile.Descendants("Name")
                   where d.Value == (String)f.selectionBox.SelectedItem
                   select d.Parent.Element(tag).Value;

        foreach (var item in name)
        {
            f.moduleName.Text = item.ToString();
        }
    }
4

1 に答える 1

2

フォームで ListBox を選択し、Modifier プロパティを Private から Public に変更します。

これは、フォーム デザイナがコントロールをデフォルトで非公開として作成するために発生します。Designer によって生成されたコードを見て、自分の目で確かめることができます。

Form1.Designer.csコードの例...

partial class Form1
{
...
    private System.Windows.Forms.ListBox listBox1;
}

そして、デザイナーで Modifier プロパティを public に変更した後...

partial class Form1
{
...
    public System.Windows.Forms.ListBox listBox1;
}
于 2013-03-11T23:13:15.663 に答える