Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.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# 如何仅使用设计器文件重建WinForm_C#_Visual Studio_Windows Forms Designer - Fatal编程技术网

C# 如何仅使用设计器文件重建WinForm

C# 如何仅使用设计器文件重建WinForm,c#,visual-studio,windows-forms-designer,C#,Visual Studio,Windows Forms Designer,我最近从几个月前的Github上获取了一个项目。然而,有许多表格显然没有存储在回购协议中。我不确定这是怎么发生的,但我正在尽力恢复 例如: -CreditsBox.cs -CreditsBox.Designer.cs 在这种情况下,CreditsBox.Designer.cs文件存在,但CreditsBox类文件不存在。幸运的是,发生这种情况的表单中没有太多的登录信息,因此重写它很简单。但是,如果我能以某种方式用设计器文件重新生成表单,这将使它变得容易10倍 感谢您的帮助 重新创建表单的UI只需

我最近从几个月前的Github上获取了一个项目。然而,有许多表格显然没有存储在回购协议中。我不确定这是怎么发生的,但我正在尽力恢复

例如: -CreditsBox.cs -CreditsBox.Designer.cs

在这种情况下,CreditsBox.Designer.cs文件存在,但CreditsBox类文件不存在。幸运的是,发生这种情况的表单中没有太多的登录信息,因此重写它很简单。但是,如果我能以某种方式用设计器文件重新生成表单,这将使它变得容易10倍


感谢您的帮助

重新创建表单的UI只需设计器文件。
您可以按照以下步骤操作

  • 创建一个新项目
  • 添加表单并将其文件命名为CreditBox.cs
  • 使用保存的设计器文件替换Visual Studio创建的设计器文件 演播室
据我所知,最后一步也可以在Visual Studio打开时完成,但无论如何,最好先关闭VS,然后再重新打开


当然,您也可以对丢失主cs文件的所有其他表单设计器文件执行相同的操作

所以我找到了一个简单的方法来解决这个问题


创建.Designer.cs文件的备份,并从项目中删除原始文件。然后,在项目中使用原始表单的名称创建一个新表单(这样依赖的方法/调用不会失败)。然后浏览原始的.Designer.cs文件并创建对象,只需将其从工具箱拖到窗体上,并命名为与原始文件匹配即可。一旦添加了所有这些内容(不必担心样式),请将旧的Designer.cs内容复制回来,以便修复样式、间距等。构建后,设计师将更新为原始样式/间距等。

您并不孤单。我曾经遇到过这个问题(也是GitHub)。幸运的是,我仍然有原始的虚拟机,上面有代码,所以我只需要将其添加到版本控制中。如果使用表单作为新表单的基础,这种情况会发生很多。复制并粘贴到同一项目中,然后开始修改复制的项目。但通常是设计器和resx文件(如果有)没有正确添加到版本控制系统(在我的例子中是SVN)