C#从主表单中获取字段

时间:2017-08-03 10:51:14

标签: c# forms public

我有一个主表单,我需要在其他类中从主表单获取或设置字段。我在Main Form中创建了公共属性:

public partial class MainForm : Form
{
     public string get_txt()
     {
         return phone.Text;    //phone - textbox
     }
}

但在其他课程中,我无法获得此属性:

MessageBox.Show(MainForm.get_txt); //there error. It doesn't seemed get_txt property.

我很抱歉这个最简单的问题,但我真的不知道这一点。 Everywhere编写了最简单的方法 - 在Main Form中为Main Form中的所需私有字段创建公共属性。我错了什么?

4 个答案:

答案 0 :(得分:0)

因此,MessageBox.Show(MainForm.get_txt)不会编译,因为您尝试引用静态属性,而不是实例方法。

我不是winform开发者,所以这是一个猜测:

您的代码中的某个位置会有var main = new MainForm()之类的调用。在该实例即main,您可以致电main.get_txt()

作为旁注,鉴于您在C#中工作,最好将该方法命名为更惯用的方法,或许public string GetPhoneNumber()或更好,然后将其作为属性:

public string PhoneNumber { get { return phone.Text; } }

答案 1 :(得分:0)

制作MainForm的实例,然后调用它。

Mainform _mainform=new Mainform();

MessageBox.Show(_mainform.Get_text);

答案 2 :(得分:0)

你的MainForm不是静态类,你不能那样使用。如果你想访问MainForm(方法或变量),你必须分配变量。

MainForm mForm = new MainForm();
MessageBox.Show(mForm.getText());

答案 3 :(得分:0)

谢谢大家。 但是当我创建一个新的Main Form时,其中的所有控件都会像我当前的Main Form一样初始化?