C# 更改另一窗体上文本框的文本
好吧,那么 我有两个表单,我们把它们称为main和second表单 在main上只有一个文本框(我们称之为T1),它是公共的,因此可以从任何形式访问它 在秒上,除了一个公共文本框(T2)和一个按钮(pub)(称之为B)外,什么都没有 在代码上,main中没有任何内容 在秒的代码上有C# 更改另一窗体上文本框的文本,c#,.net,string,text,textbox,C#,.net,String,Text,Textbox,好吧,那么 我有两个表单,我们把它们称为main和second表单 在main上只有一个文本框(我们称之为T1),它是公共的,因此可以从任何形式访问它 在秒上,除了一个公共文本框(T2)和一个按钮(pub)(称之为B)外,什么都没有 在代码上,main中没有任何内容 在秒的代码上有 public string s1 在按钮B的代码中: s1 = T2.Text; MAIN mainredirect = new MAIN(); MAIN.T1.Text = s1; 就这样。我做错了什么 p、
public string s1
在按钮B的代码中:
s1 = T2.Text;
MAIN mainredirect = new MAIN();
MAIN.T1.Text = s1;
就这样。我做错了什么
p、 s:没有vs显示的错误,所以它不是语法错误这是WinForms吗?很难说出你想做什么。你有没有使用过调试器?绳子准备好了吗?你如何确认它不是?是否因为表单尚未加载
您只显示片段。使用调试器可以很容易地进一步隔离它。不明白您试图实现什么,但可能忘记了简单地
Show()
创建表单
编辑:
读了你的评论。据我所知,您的main表单像对话框一样打开second表单,您希望从中获取输入值
主窗体的代码将为:
private void callSecondFormButton_Click(object sender, EventArgs e)
{
SecondForm second = new SecondForm();
second.ShowDialog();
mainFormTextBox.Text = second.Result;
}
第二张表格:
public string Result = string.Empty;
private void secondFormCloseButton_Click(object sender, EventArgs e)
{
Result = secondFormTextBox.Text;
Close();
}
callSecondFormButton-主窗体上调用第二个窗体的按钮;
mainFormTextBox-主窗体上的文本框;
SecondForm-您的第二个表单将从main调用;
结果-第二种形式的公共字段,用于检索输入文本的结果;
secondFormCloseButton-第二个表单上的按钮,用于更新结果并关闭对话框
在主窗体中,首先需要创建第二个窗体实例并显示窗体。执行
ShowDialog
后,主窗体将等待关闭打开的窗体。关闭后,它将检索结果文本。您的问题缺少一些非常重要的必需信息,即您预期会发生什么以及实际发生了什么。现在,我无法找出您需要帮助的问题。实际发生的情况:无我想要的:将t2的字符串传输到t1Call mainredirect.Show(),就像@archer建议的那样。思考您看到的内容对于理解面向对象编程非常重要。我不使用它,因为第二个窗体是由showdialog从主窗体打开的,当用户单击B按钮时,它将关闭。主要形式总是存在的。