![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
选择系统新建WinForm程序,会生成FormMain.cs/ FormMain.Designer.cs/ FormMain.resx
当我们发现系统生成的FormMain.cs里面代码太多的时候,不免想抽出部分Method方法放到partial类中
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy8xNzJDNEZDREU2OUE0QzZDOEU3NTc2MThDMDE2NERFQy9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
但是我们发现,如果你抽出的方法太多
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy82MzU0OTk1NjZGNkU0RkUyQTI1MUVBODYwRjI2QjE4Ri9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
1.VS会给你安排这样的一个组织架构,看上去很难看吧,都是FormMain的东西,能搞到一个文件夹下多爽
并且,你双击新建的Method类,
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cDovL2ltYWdlcy5jbml0YmxvZy5jb20vYmxvZy81NTM2ODMvMjAxMzEwLzEyMDk0NjMyLTQ3ZjBhNzhkNjUyOTQwMTc4YzlmMjRhMDM2ZDA2MzM2LnBuZw%3D%3D.png?w=700&webp=1)
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy81ODdGQTdGODAwRkI0QjNCOUNDRjg5RDY3MjUzRDIwNC9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy81ODdGQTdGODAwRkI0QjNCOUNDRjg5RDY3MjUzRDIwNC9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
2.居然是打开一个窗体,真是没有什么比这更让人闹心的了。
下面我们来解决两个问题:
1.我们需要将新建的Method类放到
小箭头里面去
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy8xQ0Y4RDVEMzY5NzE0RDYyODRFNDE2OTUxNEIzQUIxRi9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
打开项目文件“.csproj”我们看到“.Designer.cs”文件与“.Method.cs”文件的引用的不同
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy9GRkZGQTRFMDU3NDE0RTZGQUQyNkJDNTNERkNGRDU3RS9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy9EODkzQTNBMjMwMTE0Q0UyODQ4Rjc3OERCMjk1RTRCNC9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
那么我们按照“.Designer.cs”文件设定一下“.Method.cs”文件的引用
你会发现神奇的一幕,
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cDovL2ltYWdlcy5jbml0YmxvZy5jb20vYmxvZy81NTM2ODMvMjAxMzEwLzEyMDk0NjUzLTRkOTUwNGI0MzBlMjRjODFiMzNiOTMwMTdkNjUzMDhmLnBuZw%3D%3D.png?w=700&webp=1)
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy81ODIwQkQyMEFCQ0M0OTEwOTkwNEJBM0Y4NDY5QzNERC9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
Method类果然跑到"FormMain.cs"的小箭头里面去了,但是双击这个".cs"文件,我们发现VS还是打开一个窗体,而并非直接显示代码,
这个时候我们发现“.csproj”文件里面有这么个东西
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cDovL2ltYWdlcy5jbml0YmxvZy5jb20vYmxvZy81NTM2ODMvMjAxMzEwLzEyMDk0NzA3LWZmN2IzODA5NjdkZDRlMjFiZGQ3NzMxOGIwNWEyYzIyLnBuZw%3D%3D.png?w=700&webp=1)
![WinForm窗体代码结构优化 WinForm窗体代码结构优化](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuc2h1emhpZHVvLmNvbS9Vc2Vycy9BZG1pbmlzdHJhdG9yL0FwcERhdGEvTG9jYWwveW91ZGFvL3lub3RlL2ltYWdlcy85QkJFRDUzRkUyNjM0QTcyODBBOTI2NEM1OUMwM0REQi9jbGlwYm9hcmQucG5n.png?w=700&webp=1)
系统自生成的“.Designer.cs”文件是可以双击打开的,是否“ Designer”是个关键字?
我们来试一下,将"FormMain.Method.cs"重命名为"FormMain.Method. Designer.cs"
再尝试双击,呼,成功了。