我最近注意到Visual Studio设计器(我猜这就是所谓的)已经删除了一些我的方法句柄。有没有办法阻止设计师这样做?设计师似乎正在删除designer.cs中的句柄
我的意思是这样的一个例子: 我有一个当我的MainForm关闭时调用MainForm_Closing的方法 - 基本上是“你想保存更改吗?”提示。埋在我的Main.designed.cs中是行:
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_Closing);
在与我的MainForm对象有关的部分内。
但是,如果我对MainForm进行任何视觉更改(将控件拖动到它上面,编辑标签名称,更改图像属性等),似乎创建设计器的Visual Studio部分会清除我的自定义码。
我猜测设计器被调用来在编译时创建designer.cs(这样它可以很容易地编译为IL),因此当然会删除我的自定义句柄。
顺便说一句:我正在生成我的自定义句柄正在智能感知的帮助下创建。例如,我键入:
this.FormClosing +=
并且智能感知提示正确的句柄并且显示“按Tab键插入”)。
任何帮助理解这一点(并停止从删除我的手柄Visual Studio)将不胜感激。
您添加代码designer.cs? –
您是从属性窗格中添加EventHandler还是直接在* .designer.cs文件中添加EventHandler?类似的问题回答得很好。 http://stackoverflow.com/questions/3786512/changing-autogenerated-code-in-a-c-sharp-windows-forms-application-project – Lloyd
只有像FomrClosing和TreeView.MouseClick等方法的句柄。我认为我应该在其他地方添加此代码? –