Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 视窗窗体被视为;类型,该类型在给定上下文中无效;_C#_Visual Studio_Winforms - Fatal编程技术网

C# 视窗窗体被视为;类型,该类型在给定上下文中无效;

C# 视窗窗体被视为;类型,该类型在给定上下文中无效;,c#,visual-studio,winforms,C#,Visual Studio,Winforms,我试图自学使用.net framework的windows窗体应用程序的基本原理,因此我决定选择visual studio 19上的空项目模板,这样我就可以实际了解.net核心应用程序中自动生成的代码是什么,并且不依赖任何东西 无论如何,我创建了一个form.cs文件,为表单添加了一个新的“class”文件,但是在program.cs文件中创建我的main方法时,“Application.run”行生成了一个错误,因为“MainForm”显然是“一个类型,在给定上下文中无效”。我知道.NETCo

我试图自学使用.net framework的windows窗体应用程序的基本原理,因此我决定选择visual studio 19上的空项目模板,这样我就可以实际了解.net核心应用程序中自动生成的代码是什么,并且不依赖任何东西


无论如何,我创建了一个form.cs文件,为表单添加了一个新的“class”文件,但是在program.cs文件中创建我的main方法时,“Application.run”行生成了一个错误,因为“MainForm”显然是“一个类型,在给定上下文中无效”。我知道.NETCore与.NETFramework不同,但我认为许多windows窗体代码与我所看到的相同。抱歉,如果这听起来很愚蠢,但我不知道如何解决这个问题

欢迎来到StackOverflow

您可能缺少新的
和括号

Application.Run(newmyform())

而不是
Application.Run(myForm)

第一行所做的是创建表单
myForm
的对象,并将其作为参数传递给
应用程序。Run(…)
函数

第二行将给出一个编译时错误(您将得到的错误)


吉安

Application
类的
Run
函数需要表单的对象,该对象是在调用表单类上的
new
操作符时创建的(
myForm
,在上面的代码中)

当您要指定该类类型的另一个对象时,将使用类型名称(未调用
new
的表单类名)。例如:
myformFRM1

这里,在堆栈中创建变量
frm1
,并将其指定为
myForm
类型。 初始化此变量时,需要将其指定给对象。通过调用类上的
new
操作符创建对象:
newmyform()

上面的行在堆中创建类型为
myForm
的对象。 要使用此对象,您需要一个可以指向此对象的变量(C#中的引用和C/C++中的指针)。为此,您可以将这两个代码组合成两行或一行,如下所示

2行代码:

myForm frm1;`
frm1 = new myForm();
1行代码

myForm1 frm1=newmyform()

现在,当您编写这样的代码时

frm1.Title=“我的表单标题”


这将更改堆中创建的对象的
Title
属性的值。

如果您试图自学使用.net framework的windows窗体应用程序的基础知识,请使用.net framework。否则,请自学.NETCore的基础知识。顺便问一下,哪个版本的.Net内核<代码>3.0
<代码>3.1
<代码>5.0预览版
?还有别的吗?也许可以从
.Net FW 4.8
开始。请向我们展示您的代码很可能您忘记了使用。通常,IDE的程序模板将为您提供一个应该使用的工作区。只要你不修改设计器创建文件的方法,你就可以从阅读它写的东西中学到很多东西但核心只是显示第一个窗口并启动事件队列,这是几乎所有GUI编程的基础。