从VB过渡到c#的过程中,我有些困惑-我有一个从要点开始的UserForm:
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new AwesomeForm());
}
}
在此表单上,我有一个标签Label1,但是我不能从另一个类访问它(AwesomeForm.Label1在intellisense中不存在)-它不会在表单中找到Label1或实际上的任何公共方法;我尝试AwesomeForm使用公共访问器在上创建一个方法:
public void UpdateMe(string TheMessage)
{
this.Label1.Text = TheMessage;
}
在VB中,我只是使用表单的名称和public方法(AwesomeForm.UpdateMe("Hi!")
我认为这与Application.Run(new AwesomeForm());创建的实例有关AwesomeForm,我认为我可以通过public Form MyAwesomeForm = Application.OpenForms[0];给我MyAwesomeForm一个玩法来访问该实例,但是尽管这一行没有出错,但我仍然没有得到intellisense中的方法,当我尝试使用时不会编译Form.UpdateMe()
我尝试为它声明一个变量,public AwesomeForm MyAwesomeForm = Application.OpenForms[0];但这没有用...
我要去哪里错了?如何告诉其他地方的班级更改启动表格中的内容?
我可以将变量名放在行中的某个位置Application.Run(new AwesomeForm());吗,例如Application.Run(Wow new AwesomeForm()); 然后我可以获得AwesomeForm的第一个实例?
相关分类