在 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/