从另一个表单添加字典中的项目

时间:2016-09-16 18:42:28

标签: c# dictionary

我试图访问另一个表单的字典,但我不能......

Form1.cs的

public partial class Form1 : Form
    {
        public DataNode rootNode;
        public static Dictionary<string, string> documents = new Dictionary<string, string>();


        public Form1() {

        }

form2.cs

public partial class addCapitulo : Form
    {
        Form1 addcapitulo;

        public addCapitulo(Form1 treeList)
        {
            InitializeComponent();
            addcapitulo = treeList;
        }

        private void simpleButton1_Click(object sender, EventArgs e)
        {
            string pageGuid = Guid.NewGuid().ToString();
            addcapitulo.rootNode.Nodes.Add(new DataNode("Testando", pageGuid));
            addcapitulo.documents.Add(pageGuid, addcapitulo.blankRtfText);
        }
    }

错误:无法使用实例引用访问;用类型名称来限定它。

如何完成此访问?能够以任何形式访问和使用字典...

2 个答案:

答案 0 :(得分:2)

要访问您需要的静态类型:

Form1.documents

您无法使用Form1的实例进行访问,因为错误建议。

我宁愿建议制作字典Non-Static

public Dictionary<string, string> documents = new Dictionary<string, string>();

然后您当前的代码将按原样运行。我没有找到定义词典的基本原理static

答案 1 :(得分:0)

字典为static,因此您只需使用类型名称:

Form1.documents.Add(pageGuid, addcapitulo.blankRtfText);