Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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++/CLI,Winforms:VS2008子文件夹下的新表单_Winforms_Visual Studio 2008_C++ Cli_Designer - Fatal编程技术网

C++/CLI,Winforms:VS2008子文件夹下的新表单

C++/CLI,Winforms:VS2008子文件夹下的新表单,winforms,visual-studio-2008,c++-cli,designer,Winforms,Visual Studio 2008,C++ Cli,Designer,在C++/CLI Winforms项目的VS2008子文件夹下创建新表单时,会在子文件夹下正确创建.h和.cpp。但是,当表单在设计器中打开并且标题更改时,我会收到一条错误消息,指出.resx(直到此时为止)已经是项目的一部分。然后可以在解决方案的根文件夹中找到.resx。我该怎么做?(…不必向MS提交bug,因为这是VS2010赛季,MS不会太认真地对待这个问题) 一个选项是在项目的根文件夹中创建表单,然后在完成所有更改后将所有三个文件(.cpp、.h和.resx)移动到所需的子文件夹。在这种

在C++/CLI Winforms项目的VS2008子文件夹下创建新表单时,会在子文件夹下正确创建.h和.cpp。但是,当表单在设计器中打开并且标题更改时,我会收到一条错误消息,指出.resx(直到此时为止)已经是项目的一部分。然后可以在解决方案的根文件夹中找到.resx。我该怎么做?(…不必向MS提交bug,因为这是VS2010赛季,MS不会太认真地对待这个问题)

一个选项是在项目的根文件夹中创建表单,然后在完成所有更改后将所有三个文件(.cpp、.h和.resx)移动到所需的子文件夹。在这种情况下,我发现一旦表单被移动到子文件夹,“视图设计器”就不再可用


救救我。请我没有做任何值得做的事。

这符合我的医生通常的建议:如果疼痛,不要做。C++ IDE不够聪明,无法在正确的文件夹中创建.RESX。但这是可以解决的。当您收到错误消息框时,切换到资源管理器并将刚创建的.resx文件从项目目录移动到子目录。返回并点击OK,之后一切正常。

Hans的答案是正确的,但并没有完全解决我的问题

我希望我的源(.cpp、.h,甚至是.resx)文件都位于子目录(“SourceCode”)中,而不是与项目文件夹中的所有文件混在一起。VS很难将表单(Form1)移出项目目录——您可以移动.h和.resx文件(在Windows资源管理器中)并将其添加(在Soln资源管理器中)为现有项,但VS无法将其识别为表单。我找不到方法告诉VS form.h文件是表单项的一部分(有方法吗?)

我找到了一个解决方法:右键单击头文件(在解决方案资源管理器中)->添加->新建项->Windows窗体。浏览到源代码子目录并将表单命名为myForm。然后,从原始form1.h文件复制源代码,并将其粘贴到新的myForm.h中的源代码上。对form1.cpp/myForm.cpp文件执行相同的操作。另外,在所有项目文件中执行全局搜索并将旧表单名称(Form1)替换为新表单名称(myForm)(如果更改了表单名称)。此时,您可以在解决方案资源管理器中删除原始的form1.h和form1.cpp(但在确定新版本的所有功能都正常之前,不要删除这些文件)

这似乎可行,但起初我在解决方案资源管理器中的myForm.h下没有看到myForm.resx文件。在新表单(myForm)中重新排列控件后,我收到“.resx已经是项目的一部分”消息。消息框不会接受OK作为答案。我在子文件夹(?)中看到了myForm.resx文件,但我注意到在项目文件夹中也有一个。我想我删除了项目文件夹中的那个。Soln Explorer中有两个myForm.resx文件(两个.resx文件的名称相同)。不知何故,我确定第一个与项目文件夹对应,并将其删除。现在一切正常

顺便说一句,我正在与VS2010合作。我希望我的工作也适用于VS2008。我在VS2003中使用了一个类似的技巧,当表单崩溃时(通常是这样)