Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新表格1';通过单击Form2';Visual C#Windows窗体中的s按钮_C#_Winforms - Fatal编程技术网

更新表格1';通过单击Form2';Visual C#Windows窗体中的s按钮

更新表格1';通过单击Form2';Visual C#Windows窗体中的s按钮,c#,winforms,C#,Winforms,我对Visual C相当陌生,正在编写一个包含多种表单的GUI应用程序。一个窗体是主窗口,其余的是一些选项窗口。当显示一个选项窗口时,我需要向它加载一些数据(例如,窗口的编辑框中的字符串),然后编辑它并在关闭选项窗口时返回主窗口。有什么简单的方法可以实现吗? 我已经找到了一些解决方案,或者说,但我不能真正使它符合我的需要。我在考虑在构造函数中传递数据,但如何将其取回呢?我发现了一些关于ShowDialog的东西,但正如我所说的,我对C#(昨天开始)是新手,不知道我是否可以使用它 有什么想法吗?我

我对Visual C相当陌生,正在编写一个包含多种表单的GUI应用程序。一个窗体是主窗口,其余的是一些选项窗口。当显示一个选项窗口时,我需要向它加载一些数据(例如,窗口的编辑框中的字符串),然后编辑它并在关闭选项窗口时返回主窗口。有什么简单的方法可以实现吗? 我已经找到了一些解决方案,或者说,但我不能真正使它符合我的需要。我在考虑在构造函数中传递数据,但如何将其取回呢?我发现了一些关于ShowDialog的东西,但正如我所说的,我对C#(昨天开始)是新手,不知道我是否可以使用它


有什么想法吗?

我找到了以下先前的答案,其中概述了将特定属性从一个表单发送到另一个表单的过程:

using关键字还将确保表单得到正确清理,这里有一个指向其用法的链接(请原谅双关语…):

老实说,我也遇到了同样的问题,我必须说,在讨论之前,我只会将家长表单本身传递给孩子,并以这种方式修改它。例如:

ChildForm child = new ChildForm(this);  //from the parent


但这可能不是最好的约定,因为您可能不需要像孩子一样从父母那里访问那么多

我发现前面的回答概述了从一个表单向另一个表单发送特定属性:

using关键字还将确保表单得到正确清理,这里有一个指向其用法的链接(请原谅双关语…):

老实说,我也遇到了同样的问题,我必须说,在讨论之前,我只会将家长表单本身传递给孩子,并以这种方式修改它。例如:

ChildForm child = new ChildForm(this);  //from the parent


但这可能不是最好的约定,因为您可能不需要像孩子一样从父母那里访问那么多

谢谢各位,我想我终于明白了。在我看来,你的想法是最简单的,所以我决定用它。如果其他人有这样的问题,下面是我的代码:

在主窗口窗体中:单击按钮时,出现一个新窗体;关闭后,label1显示以该形式键入的文本

private void Button1_Click(object sender, EventArgs e)
    {
        LoadDataForm loaddata = new LoadDataForm("initial value");
        if (loaddata.ShowDialog() == DialogResult.OK)
        {
            label1.Text = loaddata.textBox1.Text;
        }
    }
在加载数据表单中:在表单构造函数中传递的参数出现在textBox1中;textBox1的Modifiers属性必须修改为“public”

问候,,
mopsiok

谢谢各位,我想我终于明白了。在我看来,你的想法是最简单的,所以我决定用它。如果其他人有这样的问题,下面是我的代码:

在主窗口窗体中:单击按钮时,出现一个新窗体;关闭后,label1显示以该形式键入的文本

private void Button1_Click(object sender, EventArgs e)
    {
        LoadDataForm loaddata = new LoadDataForm("initial value");
        if (loaddata.ShowDialog() == DialogResult.OK)
        {
            label1.Text = loaddata.textBox1.Text;
        }
    }
在加载数据表单中:在表单构造函数中传递的参数出现在textBox1中;textBox1的Modifiers属性必须修改为“public”

问候,,
莫普希克

到目前为止,你得到了什么?向我们展示一些代码。听起来你已经找到了解决问题所需的所有工具。现在您只需要实际应用它们。如果用户在关闭选项表单之前不能返回主表单,那么ShowDialog()是最直接的方法。只需在选项窗体上创建一个公共成员/属性,在其关闭时检索该值(或将控件的Modifiers()属性更改为Public,以便可以在窗体外部访问它)。到目前为止,您得到了什么?向我们展示一些代码。听起来你已经找到了解决问题所需的所有工具。现在您只需要实际应用它们。如果用户在关闭选项表单之前不能返回主表单,那么ShowDialog()是最直接的方法。只需在选项窗体上创建一个公共成员/属性,在其关闭时检索该值(或将控件的Modifiers()属性更改为Public,以便可以在窗体外部访问该值)。