winForm动态菜单而产生的几点疑惑
事件起因:
WinForm入门学习时,利用设计器制作菜单,在以后的快速原型测试中,也用这种方式。但项目实际开发的时候,都是希望用代码动态生成菜单。我们可以用数据库,XML来平行地存储菜单项,也可以用XML来层次地形象的存储菜单。
虽然XML的层次结构,与菜单结构像极了,几乎是“同构”的。但WinForm中的MenuStrip,并不支持数据绑定。
感叹:在算法设计和业务操作的时候,我们希望面向对象的严格,但在组合算法,集成业务,粘合界面的时候,我们需要"宏","marco","#define"动态特性,如javascript, foxpro中那样的灵活。
问题:
1. WinForm中,为什么就不能支持菜单的数据绑定和序列化?相比之下,Asp.Net快速开发中,数据绑定要支持的好得多,多不公平。
2. c#2太静态了,以至于把菜单和事件联系起来,太难了。有的用反射;有的对字符串进行判断,大量使用switch(menuStripItem.Text) case...无可奈何的重复。希望C#能动态些,再动态些。
3. vs2010中,能动态添加字符串 表示的类和方法么,实现如下需求么?
我们希望在数据库中有如下变量表:
我们希望在数据库中有如下方法表:
WinForm入门学习时,利用设计器制作菜单,在以后的快速原型测试中,也用这种方式。但项目实际开发的时候,都是希望用代码动态生成菜单。我们可以用数据库,XML来平行地存储菜单项,也可以用XML来层次地形象的存储菜单。
虽然XML的层次结构,与菜单结构像极了,几乎是“同构”的。但WinForm中的MenuStrip,并不支持数据绑定。
感叹:在算法设计和业务操作的时候,我们希望面向对象的严格,但在组合算法,集成业务,粘合界面的时候,我们需要"宏","marco","#define"动态特性,如javascript, foxpro中那样的灵活。
问题:
1. WinForm中,为什么就不能支持菜单的数据绑定和序列化?相比之下,Asp.Net快速开发中,数据绑定要支持的好得多,多不公平。
2. c#2太静态了,以至于把菜单和事件联系起来,太难了。有的用反射;有的对字符串进行判断,大量使用switch(menuStripItem.Text) case...无可奈何的重复。希望C#能动态些,再动态些。
3. vs2010中,能动态添加字符串 表示的类和方法么,实现如下需求么?
我们希望在数据库中有如下变量表:
变量类型 | 变量名称 |
List<int> | list |
变量名称 | 执行方法 | 参数类型列表 | 参数值列表 |
list | Add | int | 5 |
list | Add | int | 8 |
根据 数据库,我们怎么把如字符串变成语句
"List<int> list = new List<int>;
list.Add(5);
list.Add(8);"
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
2005-07-29 AutoCAD visual lisp实例:函数绘制