当我添加文本时,C#.Net属性(GET,SET)返回空白

当我添加文本时,C#.Net属性(GET,SET)返回空白,c#,.net,get,set,C#,.net,Get,Set,大家好,这是我的第二天,当我被困在谷歌数小时后。 我有一个窗体和一个类,重代码是,在窗体中我有一些复选框和文本框,当类程序基于复选框X运行时,代码将只运行部分代码。 但是如果我尝试返回一个复选框,它只会返回false,或者如果我尝试文本框,它只会返回空白的eaven,如果我勾选文本框或者如果我向文本框添加文本 namespace WinFormsApp1 { public partial class Form1 : Form { public Form1() {

大家好,这是我的第二天,当我被困在谷歌数小时后。 我有一个窗体和一个类,重代码是,在窗体中我有一些复选框和文本框,当类程序基于复选框X运行时,代码将只运行部分代码。 但是如果我尝试返回一个复选框,它只会返回false,或者如果我尝试文本框,它只会返回空白的eaven,如果我勾选文本框或者如果我向文本框添加文本

namespace WinFormsApp1
{
    public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        MessageBox.Show("Lading");
        this.textBox1.Text = "THIS IS TXT.1";
        this.textBox2.Text = "THIS IS TXT.2";
        this.checkBox1.Checked = true;
        this.checkBox2.Checked = true;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Work_.Work wrk = new Work_.Work();
        wrk.Testing();
    }

    private string result1;
    public string test1
    {
        get { return result1 = this.textBox1.Text; }
        set { }
    }

    private string result2;
    public string test2
    {
        get { return result2 = this.checkBox1.Checked.ToString(); }
        set { }
    }

    }
}
和类文件(它被添加到“工作”文件夹中)


在您的
工作
类中,您正在创建一个新的
表单
,因此访问它将不会提供原始表单中的值。一种方法是将表单传递给
工作
类,如下所示:

private void button1_Click(object sender, EventArgs e)
{
    Work_.Work wrk = new Work_.Work();
    wrk.Testing(this);
}
工作
课程中:

public void Testing(Form1 form)
{

    string Return = form.test1;
    MessageBox.Show(Return);

    string Return2 = form.test2;
    MessageBox.Show(Return2);
}

此属性定义可能不是您想要的:

私有字符串结果1;
公共字符串test1
{
获取{return result1=this.textBox1.Text;}
集合{}
}
这将使用文本框的内容更新变量
result1
,并返回它。这里根本不需要变量。只需将属性简化为

公共字符串测试1
{
获取{this.textBox1.Text;}
}

然而,您实际的问题是如果不显示对话框,
Form1\u Load
方法永远不会执行。在
Form1 form=new Form1()之后插入
form.ShowDialog()

Form1\u Load
不会仅仅因为创建了类的实例而执行。它将在显示时执行。@GSerg:好的,但我希望如果我手动更改表单中的文本,我会得到一个版本,我使用
Form1\u Load
jut不能有一个空表单。您必须
应用程序。运行
表单。为加载显示
如果在表单显示后手动更改文本,则是,您将通过
test1
读回该值。但是您还没有编写在表单显示后从
test1
读取此值的代码。您需要解释此代码试图实现的“功能”。
工作
类毫无意义。它没有属性,只包含一个方法,该方法显示两个消息框,其中包含
Form1
上文本框中的值?这在某种意义上是奇怪的,
Work\uu
类是在
Form1s
按钮单击事件中“创建”的?在按钮单击事件中,代码已经可以访问文本框…为什么要创建一个
工作
对象来做它自己可以做的事情呢。换句话说,将work类中的两行消息框放入button click事件中。没有必要上
工作课。谢谢,这就是答案。如果这个答案对你有帮助,请回答
public void Testing(Form1 form)
{

    string Return = form.test1;
    MessageBox.Show(Return);

    string Return2 = form.test2;
    MessageBox.Show(Return2);
}