c# - 如何将文本框值从 Form1 复制到 Form2?

标签 c# .net winforms

<分区>

我的 Form1 有一个文本框和一个按钮。当用户单击 Form1 中的按钮时,Form2 打开一个带有 Form1 文本框值的标签控件。

我所做的是将 Form1 的文本框修饰符设置为 Public,但是当我在 中调用 Form1 的文本框名称时Form2,我收到一条错误消息

The name "txtbx1" doesn't exist in the current context

我不知道为什么,因为我已经将 txtbx1 的修饰符设置为 Public

快速说明:我尝试将 Form2 中的 Form1 实例化为:

Form1 f1 = new Form1();

然后调用

f1.txtbx1.text

奇怪的是 Form1 无法实例化(没有突出显示)。另一方面,如果我执行 Form2 f2 = new Form2(); Form2 会突出显示!

这是我从 Form1 显示 Form2 的方式:

        SetSalary salForm = new SetSalary();
        salForm.ShowDialog();

请注意,SetSalary 代表 Form2。

我们将不胜感激。

最佳答案

form2 创建一个接受字符串的构造函数,并在调用新的 form2 时将 form1.frm1Textbox.text 传递给构造函数,然后将其设置为 form2.frm2Textbox.text

Form2 form = new Form2(frm1Textbox.text);

在 form2 构造函数中

public class Form2 : Form
{
    public Form2(string text)
    {
        frm2Textbox.Text = text; 
    }
}

关于c# - 如何将文本框值从 Form1 复制到 Form2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3384961/

相关文章:

c# - 将 App.config 应用于我的 DLL 程序集?

c# - 可以发送到 WCF 服务的数据量是否有大小限制?

c# - DataGridView ID 列不会隐藏

c# - 面板 ArrangeOverride 和 MeasureOverride 方法

c# - 模型略有变化的多个数据库。我如何允许 Entity Framework 在运行时删除列?

c# - AutoMapper 不适用于容器类

c# - SetWindowPos 不改变最大化状态

c# - 如何缓存一行而不引发 "Row provided already belongs to a DataGridView"错误?

c# - 求一个Winforms System.ComponentModel.Design Design Surface BeginDrag/EndDrag事件钩子(Hook)

c# - 如何从 ELMAH 中排除 404