首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何阻止VS Designer弄乱我现有的代码

VS Designer是指Visual Studio的设计器,它用于可视化设计和编辑用户界面。有时候在使用VS Designer时,可能会出现它修改了现有代码的情况。以下是阻止VS Designer弄乱现有代码的几种方法:

  1. 使用版本控制:使用版本控制系统(如Git)来管理代码的修改和历史记录。在使用VS Designer之前,将代码提交到版本控制系统,并创建一个新的分支或者备份。这样,如果VS Designer修改了代码,可以轻松地回滚到之前的版本。
  2. 禁用自动生成的代码:VS Designer通常会自动生成一些代码,例如控件的初始化和事件处理程序。可以通过手动编写这些代码,而不是依赖自动生成的代码,来避免VS Designer修改现有代码。在设计器中的属性窗口中,可以找到相关的选项来禁用自动生成的代码。
  3. 使用部分类:在设计器生成的代码和手动编写的代码之间使用部分类(partial class)来分隔。设计器生成的代码位于一个部分类中,手动编写的代码位于另一个部分类中。这样,在设计器重新生成代码时,手动编写的代码不会被修改。
  4. 锁定文件:在使用VS Designer之前,可以将相关的代码文件设置为只读或者锁定状态,以防止设计器修改这些文件。这可以通过文件系统的权限设置或者版本控制系统来实现。
  5. 将代码与界面分离:将代码和界面分开存放,例如使用MVC(Model-View-Controller)或MVVM(Model-View-ViewModel)等设计模式。这样,设计器只负责界面的设计,不会影响代码逻辑。

总结起来,阻止VS Designer弄乱现有代码的关键是使用版本控制、禁用自动生成的代码、使用部分类、锁定文件和将代码与界面分离。通过这些方法,可以更好地控制和保护现有代码,同时使用VS Designer进行界面设计。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vs2015编写c#项目下各文件解析 vs项目结构解析vs项目结构解析

因为使用的是VS2015,就以这个为例来进行一些说明: 首先要做的是更改你的操作系统,把隐藏的文件、文件夹显示出来,以完整的显示VS在生成一个项目时的完整文件、文件夹结构。...Form1.cs 中写入的是你自己的代码Designer.cs 文件是C# Windows 窗体设计器自动写入代码的文件,这些代码用于实现所有通过从“工具箱”中拖放控件执行的操作。...Designer.cs 文件包含将控件拖动到窗体、在“属性”窗口中设置属性等操作时“窗体设计器”写入的源代码。通常,根本不应该手动编辑此文件。 2....解决办法是重做一个Form, 让VS重新生成Designer.cs 文件,除非你特别熟悉Designer.cs 文件与Form的关系。...Resources.resx  Resources.Designer.cs  Settings.settings  Settings.Designer.cs   不是每个c#项目都有的...只有VS的WinForm

2.8K51

VsxHowTo-把Windows Forms Designer作为自己的编辑器(1)

VS内置的WinForm Designer无疑是最好的选择,那么,我们怎样才能把它作为自己的编辑器呢? 首先,我们来看一下VS编辑器的结构,下图摘自LearnVSXNow: ?...其中,我们不需要再实现Document View了,因为我们要重用VS的Winform Designer,它就是Document View,我们的目的就是把它调用出来。...这是因为这篇文章的目的是如何重用WinForm Designer,而暂不涉及文件的读取和存储,我会在后续的文章里逐步完善DocumentData。...我们的目的,是要在IVsEditorFactory.CreateEditorInstance方法里,调出VS的form designer,并赋值给out参数ppunkDocView。...这其实也是我们重用WinForm Designer的最关键的一步,我们其他的代码都是为了这句服务的,因为VS加载什么设计器,是由DesignerHost的RootComponent的RootDesigner

77820

.NET Core - 解决VS2019中.net core WinForms暂时无法使用Designer的临时方法

不过目前我们想在vs2019中使用 Designer,有一种临时解决方法。...此篇文章有关于WPF的姊妹篇解决VS2019中.net core WPF 暂时无法使用 Designer 的临时方法 ,但对WPF而言实现起来比WinForms简单很多。...在刚创建的Solution中使用vs自带的模板,选择其中的.net framework forms添加新的project,取名为"CoreHelloForm.Designer" ? ? ?...比如,做了如下几处修改: 改掉 Form的 Title ? 改掉文本框的内容. ? 改掉窗体的图标(icon) ? 按F5,运行的效果图为: ?...项目代码已推到github,欢迎Fork和star. 传送门: .netCore-WinForms_Designer , 如果觉得自己配置起来麻烦,也可以 clone 下来自己体验一把喔~

2.1K30

VsxHowTo -- 把Windows Forms Designer作为自己的编辑器(3)

在前两篇里,向大家介绍了如何vs的windows forms designer作为自己的自定义编辑器,这这篇文章里再介绍一些大家可能关心的和设计器相关的其他问题。...public string MyProperty { get; set; } }} 我们需要一段代码来把这个控件自动加道toolbox里。...toolbox会根据当前的DesignerHost里的RootDesigner的ToolboxItemFilter,和所有的ToolboxItem的ToolboxItemFilter相匹配,匹配通过的就显示...做一个控件,继承UserControl,把它作为RootComponent,给这个控件指定自己的Designer,然后就可以在这个Designer上添加ToolboxItemFilterAttribute...大家可能注意到了上面这段代码是一点用处都没有,没错,还没有实现自己的过滤逻辑。

72610

常见的错误集合解决方案(一)

No.2 解决Qt Designer设计的图标但是VS生成不显示 ?...问题描述: 在Qt designer中为菜单栏和工具栏设计的图标,但是在VS中生成得到的界面却没有图标 问题解决: 需要在VS中导入自己设计的资源文件,如下: Source Files右键添加现有项,将自己的资源文件导入进去...进入Qt designer 点帮助->关于插件->刷新 QVTK就出来了 ?...引言 使用QtCreator创建的工程,工程文件是pro文件,但是在实际开发中,可能需要用到VS进行调试(VS代码编辑以及调试方面都要优于QtCreator)或者个人喜好VS进行开发。...,有可能会出现链接错误(LNK2026 模块对于 SAFESEH 映像是不安全的),这个时候打开工程配置-链接-命令行,添加以下的代码

1.5K20

实现类似“添加扩展程序…”的设计时支持

如何在WebForm设计器里为一个Button控件方便地附加动作?想要的正是类似“添加扩展程序…”这样的效果。...通过对AjaxControlToolKit.dll的研究,发现这些扩展控件的Designer并不负责提供“添加扩展程序”这个Action,他们只负责提供相应扩展程序对应的扩展内容,所以只能从Visual...private DesignerActionListCollection GetActionLists() 20: { 21: //先取得控件原有的...下一步是如何使component的Site变成自己写的SiteProxy。...但是这种方式需要在webform designer中放入额外的一个控件,该控件只在设计时有用,在运行时则无用,看起来比较奇怪,所以最好的做法是第二种做法,即开发一个vs package,在package

48230

清除VS2022设计器缓存,解决C盘空间不足的问题

通过使用磁盘空间扫描工具WizTree 发现C盘下面VS2022设计器缓存目录占用了2.2G空间,具体位置在 C:\Users\admin\AppData\Local\Microsoft\VisualStudio...\17.0_e87c7827\Designer\Cache 其中admin是当前用户名,17.0表示VS2022,下划线后面的编号是具体版本号,不同人可能不同。...看了下Cache目录下面有几个无须编号的目录,里面其实是VS2022里面开发的项目编译的目标文件。...但我暂时不想直接删除,也许这些缓存文件还是有用,除非这些项目代码已经完工,但不删除这些文件的C盘空间实在是太小了,于是找到了创建符号链接解决C盘空间不足的方法。...下面是效果图: 可以看到,VS2022的设计器缓存目录已经链接到 D:\VisualStudioCache目录了。

42110

如何在.NET电子表格应用程序中创建流程图

流程图如何共享或协作?使用什么软件来创建它们? 为了解决上述的问题,今天小编就为大家介绍如何在.NET WinForms 应用程序中使用电子表格设计器组件在运行时创建形状操作流程图。...安装完之后,导航到项目Form1.cs的设计器: 在 VS Designer 中,找到工具箱中的FpSpread和FpSpreadDesigner组件。...这可以通过代码或设计器来完成。...连接完之后的样式: 6.将样式应用到形状 此步骤介绍如何应用样式主题以及如何将自定义样式应用于形状。用户可以使用“形状格式”选项卡的“形状样式”部分自定义形状的背景颜色和轮廓颜色。...最终还可以将应用程序中创建的 .NET 流程图导出为 Excel (.XLSX) 文件,或使用 Spread Designer 的导入和导出功能导入现有的 Excel 文件流程图。

18420

WordPress 链接预览插件:Snap Shots Plugin

有的选项都能在 WP-Admin 中设置。 可以在任何时候设置选项去定制化预览效果。 这个插件能够自动在 footer 增加Snap JS代码。...1.3版修改记录: 插件的名字从 Snap Preview Anywhere 修改成 Snap Shots Plugin 以便于和其服务的名字保持一致 增加到 footer 的代码现在也符合 XHTML...阻止链接的行为被修正。(可能翻译错误,原文为:Blocks of Links behavior has been deprecated) 你现在可以设置是否显示 PreviewShots™ 标志。...你将需要登录到 Snap Shots 并产生代码,在代码中你将在 “key=” 后面找到一个32位数字,这个数字就是你用来配置显示的。...想这个插件应该对那些主题作者非常有用,因为可以显示他们链接主题的一个非常小的屏幕截图,而不会弄乱整个页面。图片 blog 同样能够从这个插件中得到好处。

40820

Roslyn 如何在 Target 引用 xaml 防止文件没有编译

但一个准确的时机是 BeforeTargets="MarkupCompilePass1" 里面添加 xaml 文件,详细请看 WPF 程序的编译过程 本文以下的内容只是记录做过的测试 也就是通过下面代码添加的...首先来创建一个空白的 WPF 程序,使用从以前的项目格式迁移到 VS2017 新项目格式的方法修改 WPF 程序为新项目格式,然后开始来修改 xaml 的加入时间。...这些文件是重复的,可以使用下面代码去掉无编译的 MainWindow.xaml 文件 如果尝试去掉下面的代码,也就是所有的 xaml...="MSBuild:Compile"> 一开始就知道将文件放在 Target 里可以设置让用户看不到引用的文件,写一个 Target 需要包含一个 Name 所以我就写出下面代码 <...为了让 MSBuild 运行上面的 Target 就需要给 BeforeTargets 在一开始就尝试用的比较多的 CoreCompile 请看代码 <Target Name="MoqakermirLaqouLurter

71020

Roslyn 如何在 Target 引用 xaml 防止文件没有编译

首先来创建一个空白的 WPF 程序,使用从以前的项目格式迁移到 VS2017 新项目格式的方法修改 WPF 程序为新项目格式,然后开始来修改 xaml 的加入时间。...这些文件是重复的,可以使用下面代码去掉无编译的 MainWindow.xaml 文件 如果尝试去掉下面的代码,也就是所有的 xaml...="MSBuild:Compile"> 一开始就知道将文件放在 Target 里可以设置让用户看不到引用的文件,写一个 Target 需要包含一个 Name 所以我就写出下面代码 <...为了让 MSBuild 运行上面的 Target 就需要给 BeforeTargets 在一开始就尝试用的比较多的 CoreCompile 请看代码 <Target Name="MoqakermirLaqouLurter...但是如果放在 Target 里就无法看到引用的文件夹,也就无法删除文件夹,通过这个方法可以让<em>我</em>使用源<em>代码</em>打包 如使用下面的<em>代码</em>,即使没有设置 MainWindow 不可见,用户也是看不见这个文件 <

1K10

如何使用WijmoJS 纯前端设计器,快速生成 Angular 应用

修改现有的控件 标记每当您在VS Code中打开HTML文件时,都会激活WijmoJS VSCode Designer。 让我们首先打开一个WijmoJS示例HeaderFilters。...在VS Code中打开该文件夹,然后打开文件src \ app.html,其中包含以下FlexGrid标记 注意标记上方出现的灰色Wijmo Designer ...链接。...在VS Code中,这被称为CodeLens,Microsoft将其定义为“可操作的上下文信息,其中散布着源代码。”...修改后的标记的缩进样式可能与原始样式不匹配,因为它受内置VS代码设置html.format.wrapAttributes的控制。...设计器的独立命令会记住当前工作空间上下文中可视化设计界面的状态,即使您关闭并重新打开VS代码也是如此。

5.3K40

编译CTK「建议收藏」

大家好,又见面了,是你们的朋友全栈君。 使用ctkPluginFramework作为插件系统框架的确有着众多开发上的优势。...CTK源码下载地址:https://github.com/commontk/CTK 编译步骤: 注意:下面目录中出现的文件,由于是已经编译过的,因此可能会和刚下载的多出很多文件,在这里仅说明流程是怎样的...如何构建一个项目的结构以及如何在项目中使用插件式开发,CTK的官网也有相关介绍,但是本人感觉不是很清晰,详细使用在下篇博文中写出。 CMake配置 后来发现好像也不必要这样,不一定要全部选择。...将编译好的CTKWidgetsPlugins.dll CTKVisualizationVTKWidgetsPlugins.dll复制到qt designer下,打开designer检查插件是否安装成功。...(错误二) VS2010编译时若出现以下情况一直没有反应,重新启动工程编译。

95710

Qt与VS20052008的完美配合(自己编译Qt4.5.1的详细步骤)

选择Qt主要是因为程序简单,可拓 展性强,代码思路清晰,文档强悍!一般写GUI,如果用到新的class都是再查文档、看例程的,而这点用起来比MFC方便、灵活。...这个IDE比较赞的,支持一些简单的自动代码补全,可以方便的查看Doc。还提供了git、svn等版本控制工具的集成支持,当然还有 Qt Designer、Qt Linguist的集成。...唯美主义 - 不使用Designer 个人常用的方法,这样怎么开始Qt工程呢?...让Designer做大部分工作 主要是结合Qt VS Add-in和Designer完成大部分界面工作,如在界面中插入自己定义的Widget,写Style Sheet等。...qmake会注意所有的编译器和平台的依赖性,可以把开发者解放出来只关心他们的代码。Trolltech公司使用qmake作为Qt库和Qt所提供的工具的主要连编工具。

41930

基础窗口控件QWidget简介

本来这一篇是想写一下怎么使用Qt Designer去设计一个界面的,但是现在通常都是用代码去直接写界面很少用设计器。...很多初学者可能都比较喜欢使用Qt Designer,因为所见即所得,以前做MFC开发的时候也是一直用界面设计器,主要是VS的功能非常强大,而且界面设计和代码编写都是使用这个IDE,契合非常完美。...我们在网上搜到的很多代码都是直接去设置控件的绝对位置,这样就误导了很多人。PyQt5的布局管理器是非常好用的,它可以帮我们把大概的布局很简单的就设计好。所以后期的教程会尽量使用布局管理器。...同时在使用的地方也会加上一些注释,这样大家代码看得多了以后就会对布局管理器有一些了解。所以这一篇呢,我们就从控件开始吧,后期如果有时间的话,再把Qt Designer简单使用写一篇文章。...所有的窗口和控件都是直接或者间接的继承自QWidget类。 窗口坐标系统   就像大多数GUI系统一样,PyQt5使用的坐标系统也是以左上角为原点(0, 0)。

5.1K40

C#上位机开发(二)—— Hello,World

这里我们双击窗体界面,这也是VS的特性,双击一个控件,就会进入对应代码文件部分,这些代码全由VS在生成项目时自动生成,下面进行详细的解释: 1 /*filename:Form1.cs*/ 2 //使用命名空间...可以看到,Form1.cs文件下面包含了另一个Form1.Designer.cs文件,再打开Form1.Designer.cs这个文件,是不是很惊奇,和前面一模一样,再次定义了一个命名空间HelloWorld...中被叫做回调函数,当事件发生时用来处理事件;   注:这部分在单片机中也是如此,中断源产生中断,然后进入中断服务函数进行响应;   清楚了这几个概念后,就来实现我们想要的功能,按下按钮是一个事件,那么,如何编写或者在哪编写这个事件的事件处理函数呢...在VS中很方便,只需要双击这个控件,VS就会自动将该控件的事件处理函数添加进Form1.cs文件,此处先双击“Send”按钮,可以看到VS自动添加进了 private void button1_Click...(object sender, EventArgs e) 这个方法,然后在里面编写代码,让文本框显示:这里所有的控件都是一个具体的对象,我们要通过这些对象设置其属性或者调用其方法;同样的道理,双击Clear

1.9K41
领券