VS2010以及以前的版本,创建项目时都可以在CLR下找到“Windows窗体应用程序”的项目模板,但是VS2012以后的版本就没这么方便了。可以通过打开旧版本的项目来修改,也可以像下面这样操作:
众所周知,WinForm需要.NET的支持。因此我们需要建立一个CLR空项目,步骤如下:
①新建项目
②选择CLR空项目
③结果
添加WinForm头文件:
①右键点击头文件,添加新建项
②选择UI的Windows窗体
③结果
注意,在第三步结果这里,可能会(请注意!是可能,反正在我的电脑上发生了)报错:若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误。
这里可以不必理会,请按照步骤继续走。。。
这里出现了大家所熟知的窗体设计器,但是还是没能允许,因为没有主函数。需要继续进行如下操作:
①编写主函数代码
代码这里给出了,大家注意修改对应的命名空间名称及窗体类名称。
#include "mwechatFrm.h"
using namespace multi_wechat_pcmaster; // 使用mwechartFrm.h中定义的命名空间
[STAThread] // 单线程特性,有些组件要求单线程
int main(array ^args)
{
Application::EnableVisualStyles(); // 启用可视化界面
Application::Run(gcnew mwechatFrm()); //创建一个窗体,并进入消息循环
return 0;
}
当你走到此处时,保存修改,将那个报错的窗口关掉,然后重新打开,你就会发现,是下面这样的:
这里写图片描述
一切OK了!庆祝一下
②点击“本地Windows调试”,而后:
我们发现程序可以成功编译运行了,但是还留着一个黑乎乎的控制台。接下来,我们就通过设置取出这个控制台:
①右键点击项目,设置项目属性
②子系统改为窗口
③入口函数设置为main
④再次执行,黑框就不见了
如果编译的时候出现 stdio.h ucrtd.lib等文件无法识别问题,请进行如下操作:
1.点击菜单栏"视图"->"其他窗口"->"属性管理器",从而调出属性管理器页面。
2.我的"属性管理器"页面是在 VS2015 窗口的右侧,然后在项目名称下找到"Debug | Win32"文件夹,双击"Microsoft.Cpp.Win32.user"。
3.在弹出的属性页中,点击左侧的"VC++ 目录",分别选择"包含目录" 和 "库目录" 右侧的下拉箭头,然后点击"编辑" ,从而修改环境变量。
4.对于include环境变量的编辑,首先取消勾选"从父级或项目默认设置继承", 然后在最上方添加红框中的5条路径,点击确定。
//包含目录:
C:\Program Files (x86)\Windows Kits\8.1\Include\um
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include
D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt
5.对于lib环境变量的编辑,保留勾选"从父级或项目默认设置继承", 然后在最上方添加红框中的1条路径,点击确定。
//库目录
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86
6.至此完成环境变量的重配工作,重新编译运行就正常了。
对于为什么之前的环境变量无法应用,网上普遍反映是VS2015中的一个Bug,而且我发现如果是选择"从父级或项目默认设置继承"时,在Windows Kits/10/include 和 Windows Kits/10/lib 目录下导入的是10.0.10240.0文件夹,但是我的本机目录下是10.0.10150.0文件夹,这是不一致的,这有可能导致了环境变量的配置错误,所以以上这种手工的配置方法是没问题的。