如何将值从一个表单转移到另一个表单

本文关键字:表单 一个 转移 另一个 | 更新日期: 2023-09-27 18:21:36

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

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类只有一个实例,所以无论哪个窗体调用它,该类的属性都将保持不变。

公共字符串名称&lt---name="blah"<---额外代码docname dc=新的docname();dc。Doctname=名称;

根据您的代码,名为"name"的变量为null。