从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的第一个实例?
2 回答
- 2 回答
- 0 关注
- 149 浏览
添加回答
举报
0/150
提交
取消