c# - 从 C# 中的另一个表单访问文本框 - 请注意,我要为其设置框的表单是第一个表单
问题描述
所以这与我所看到的有点不同:
如何在 Visual C# 中更改另一个窗体上的文本框中的文本?
我有一个在我的 C# 应用程序运行时运行的表单 (Form1)。一个按钮 Form1 打开 Form2。在 Form2 上,我有另一个按钮可以将 Form1 上的文本框的文本设置为与 Form2 上的文本框相同的值。
使用类似的方法:
Form1 frm1 = new Form1(); frm1.TextBoxValue = "SomeValue";
无法完全打开一个新表单,但我想更改已经打开的表单1,有人可以帮忙吗?
解决方案
您必须将Textbox
值存储在 Form2 的某些属性中,如下所示:
public string ReturnValue {get;set;}
private void Form2_button2_Click(object sender, EventArgs e)
{
ReturnValue = txtInput.Text;
}
或者您可以将生成字段的访问修饰符Form2.Designer.cs
从私有更改为公共。
改变这个
private System.Windows.Forms.TextBox txtInput;
这样
public System.Windows.Forms.TextBox txtInput;
然后在Form1
您可以获得ReturnValue
最终用户关闭时的值Form2
private void Form1_popupButton_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.ShowDialog();
// get ReturnValue from form2
string ReturnValue = frm.ReturnValue ;
//get txtInput value directly
ReturnValue = frm.txtInput.Text;
}
推荐阅读
- c# - Android Xamarin 上的屏幕截图,宽系统屏幕截图
- javascript - 查找对创建 html 元素的文档的引用
- c# - kestrel vs async await c#
- mysql - mysql - 没有适当索引的长时间运行查询
- html - html - 如何从 URL 中删除 index.html
- javascript - 删除表中的行时如何使用sweetalert
- sql - Access 数据库查询:计算价格变化
- json - 如何使用 Spring Rest 获取二进制数据和 JSON
- c# - 使用实体框架更新记录的最佳方式
- ruby-on-rails - 主动存储种子 Rails