C#程序,窗体1向窗体2的textbox控件写入字符串“hello”

步骤1:创建窗体2(Form2)

在Form2中:

  • 添加一个TextBox控件(命名为 textBox1

  • 将它的 Modifiers 属性设置为 PublicInternal(这样窗体1才能访问它)

cs 复制代码
// Form2.cs
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }
}

设计器中

  • 选中 textBox1

  • 在属性窗口中找到 Modifiers

  • 将其改为 Public

步骤2:在窗体1中调用

假设窗体1中有一个按钮 button1,点击后打开Form2并写入文本。

cs 复制代码
// Form1.cs
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        // 创建窗体2的实例
        Form2 form2 = new Form2();

        // 先显示窗体2
        form2.Show();

        // 向窗体2中的TextBox写入字符串
        form2.textBox1.Text = "hello";
    }
}

完整代码(无需修改Modifiers的另一种方式)

如果你不想把TextBox设为Public,可以在Form2中写一个公共方法

cs 复制代码
// Form2.cs
public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    // 公共方法,供其他窗体调用
    public void SetTextBoxText(string text)
    {
        textBox1.Text = text;
    }
}

然后在Form1中调用:

cs 复制代码
private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.Show();
    form2.SetTextBoxText("hello");
}

如果Form2已经打开,想向它已存在的实例写入数据

如果Form2已经打开,需要在Form1中保存对它的引用:

cs 复制代码
// Form1.cs
public partial class Form1 : Form
{
    private Form2 form2;  // 保存引用

    private void buttonOpenForm2_Click(object sender, EventArgs e)
    {
        if (form2 == null || form2.IsDisposed)
        {
            form2 = new Form2();
            form2.Show();
        }
        else
        {
            form2.Focus();
        }
    }

    private void buttonWriteHello_Click(object sender, EventArgs e)
    {
        if (form2 != null && !form2.IsDisposed)
        {
            form2.SetTextBoxText("hello");
        }
        else
        {
            MessageBox.Show("请先打开窗体2");
        }
    }
}
相关推荐
阿里嘎多学长几秒前
2026-07-10 GitHub 热点项目精选
开发语言·程序员·github·代码托管
CHHH_HHH27 分钟前
【C++11】深入解析C++可变参数模板
开发语言·c++·算法·stl·c++11
jimy12 小时前
C语言模拟对象、方法:“函数指针+结构体“复用函数指针指向的函数体
c语言·开发语言
天外天-亮3 小时前
HBuilder X 使用 uview-plus 方式
开发语言·javascript·hbuilder x·uview-plus
木木子223 小时前
[特殊字符] 音乐播放器——状态驱动的多媒体控制
android·开发语言·华为·php·harmonyos
六个九十度4 小时前
用python脚本访问被网关隔离的嵌入式设备
开发语言·python
酷酷的身影4 小时前
Drivers/LedManager.cs
开发语言·php
小樱花的樱花4 小时前
Linux 线程的创建
linux·c语言·开发语言
xiaoshuaishuai85 小时前
C# AI实现PR处理、单元测试
开发语言·c#·log4j
C++、Java和Python的菜鸟5 小时前
第7章 Java高级技术
java·开发语言