c# - 如何在 Visual C# 中更改另一个窗体的文本框中的文本?

标签 c# visual-studio text textbox

在 Visual C# 中,当我单击一个按钮时,我想加载另一个窗体。但在加载该表单之前,我想用一些文本填充文本框。在显示表单之前,我尝试放置一些命令来执行此操作,但我收到一条错误消息,指出文本框由于其保护级别而无法访问。

如何在显示之前在表单中设置文本框?

 private void button2_Click(object sender, EventArgs e)
    {

        fixgame changeCards = new fixgame();
        changeCards.p1c1val.text = "3";
        changeCards.Show();


    }

最佳答案

当您在按钮单击事件处理程序中创建新表单时,您实例化了一个新表单对象,然后调用它的 show 方法。

获得表单对象后,您还可以调用该类中存在的任何其他方法或属性,包括设置文本框值的属性。

因此,下面的代码向 Form2 类添加了一个属性来设置您的文本框(其中 textbox1 是您的文本框的名称)。我更喜欢这种方法,而不是通过修改其访问修饰符使 TextBox 本身可见,因为它为您提供了更好的封装,确保您可以控制文本框的使用方式。

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public string TextBoxValue
    {
        get { return textBox1.Text;} 
        set { textBox1.Text = value;}
    }                       
}

在第一个表单的按钮单击事件中,您可以只使用如下代码:

private void button1_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.TextBoxValue = "SomeValue";
    form2.Show();
}

关于c# - 如何在 Visual C# 中更改另一个窗体的文本框中的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1806795/

相关文章:

c# - 什么在 F# 中容易而在 C# 中难?

visual-studio - CSS 文件无法在 Visual Studio 2010 SP1 中打开?

Jquery Circle 进度条文本换行

html - 文本未换行在绝对定位的 div 内

c# - 为什么我需要将模型传递给 View ?

c# - Python 序列化 c# 反序列化

visual-studio - 通过 microsoft webtest 上传文件

c# - 跨构建服务器和开发人员机器为 Stylecop 和 Fxcop 共享相同的规则

c# - 将控制台输出镜像到文件

c# - 如果目录不存在,创建目录的代码是什么?