目前正在学习用C#编写代码。我使用过代码
Form1.Hide();
Music_Menu.Show();
表单的名称是正确的,并且相信这应该有效但是当我将鼠标悬停在文本上时出现此错误:
访问非静态字段成员或者需要对象引用 物业c#
答案 0 :(得分:1)
我打赌Music_Menu是你的表格的名字。
您需要创建表单的INSTANCE。 VB在幕后做了这个""但C#要求你做对。
在Program.Main()的某个地方,我打赌你有一条线:
Application.Run(new Form1());
您需要保留该引用。 Program类中的私有静态字段应该可以工作。
private static Form1 _myForm1;
private static Music_Menu _myMusic_Menu;
然后在Main()方法中,将其更改为:
_myForm1 = new Form1();
Application.Run(_myForm1);
然后你的代码(切换的地方)应该是(在Program.cs中):
_myForm1.Hide();
_myMusic_Menu = new Music_Menu();
_myMusic_Menu.Show();
或者,如果您想在Form1中运行代码(并假设您想要返回到Form1的实例:
this.Hide();
var myMusic_Menu = new Music_Menu();
myMusic.ShowDialog();
this.Show();
根据您的情况,您可能会有一些范围问题需要理顺,但这应该会让您朝着正确的方向前进。