C#从另一个类获取textBox值
假设我有一个名为Form1的表单,其中包含textBox和button。
我想在按钮点击时从另一个类获取textBox值。 我试图这样做,但它不起作用:
class Main { public void someMethod() { Form1 f1 = new Form1(); string desiredValue = f1.textBox.Text; } }
请原谅我这个愚蠢的问题,但我在C#中很新,并且不能让这个东西起作用。
您需要找到打开的Form1而不是创建另一个Form1,创建以下类
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Windows.Forms; namespace WindowsFormsApplication1 { class Class1 { public void someMethod() { TextBox t = Application.OpenForms["Form1"].Controls["textBox1"] as TextBox; Debug.WriteLine(t.Text + "what?"); } } }
然后在按钮单击方法中
private void button1_Click(object sender, EventArgs e) { Class1 c = new Class1(); c.someMethod(); }
你的textBox可能是private
,尽管它应该是这样。 如果您需要文本框中的文本,则可以使用属性公开它
public string TextBoxText{ get { return textBox.Text; } }
当你说
Form1 f1 = new Form1();
您正在使用自己的文本框创建一个全新的对象。
如果需要该表单的文本框上的值,则需要引用用户键入值的Form1的同一实例。
我认为它是因为你正在创建一个form1的新实例,所以你实际上只从f1获取文本框文本。
这是伪代码,或者这是您实际尝试使用的代码?
如果您正在尝试使用此代码,那么您正在创建一个全新的Form1。 除非Form1的构造函数将某些内容放入文本框中,否则此时它将为空。
上述就是C#学习教程:C#从另一个类获取textBox值分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953870.html