繁体   English   中英

如何将价值从一种形式转移到另一种形式?

[英]How to transfer value from one Form to another?

好的这就是我想要的。 我创建了一个类

public class docname
    {
        private string doctname;

        public string Doctname
        {
            get { return doctname; }
            set { doctname = value; }
        }
    }

而且我在表格中使用过它

public string name;
docname dc = new docname();
dc.Doctname = name;

当我以另一种形式检查值时,我得到一个空值。 这背后的原因是什么?

我是C#的初学者。

好吧,在您的代码示例中,您实际上并没有为public string name变量分配任何内容,因此在为其分配值之前它将为null。 假设这只是一个拼写错误,您需要确保两个表单都引用了DocName类的同一个实例(只在代码中创建一个new DocName() ,然后将该引用传递给两个表单)。

Form myForm1    = new Form();
Form myForm2    = new Form();
DocName dn      = new DocName();
myForm1.docName = dn;
myForm2.docName = dn;
dn.DoctName     = "SomeDocumentName.txt";

MessageBox.Show(myForm1.docName.DoctName);  // "SomeDocumentName.txt"
MessageBox.Show(myForm2.docName.DoctName);  // "SomeDocumentName.txt"

因为只有一个DoctName类的实例,所以该类的属性将保持不管哪个表单调用它。

公共字符串名称; <--- name =“blah”; <---额外代码docname dc = new docname(); dc.Doctname = name;

好吧,根据您的代码,名为“name”的变量为null。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM