我有一个主表单,我需要在其他类中从主表单获取或设置字段。我在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中的所需私有字段创建公共属性。我错了什么?
答案 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一样初始化?