转用C#半年了,朋友的朋友找我做一个C#的窗体设计器,虽然用Delphi也做过窗体设计,但是这么BT的需求令我大开眼界,发上来让大家见识见识。(100分)

Q

qqjm

Unregistered / Unconfirmed
GUEST, unregistred user!
窗体设计器第一期需求
一.主界面
界面的总体要求请参考VS2008的窗体设计器即可,其他的要求如下:
1. 工具盒(显示控件的Toolbox)可以停靠(dock),和自动隐藏/显示。
停靠的方式包括在边上的停靠和与其它可停靠窗口并列显示。以上所有行为在使用中的表现要求和vs2008的一致。在拖动停靠过程中的提示方式也要求和vs2008一致。
2. 工具盒的外观要求和vs2008的一致。
外观包括所有的细节:边框,颜色,字体,背景,按钮,图标等等,以及分组控件的tab的布局外观。此处需求在实现中允许改变,这取决于主模块的界面风格。
3. 属性窗口(显示控件属性的property window)可以停靠(dock),和自动隐藏/显示。
停靠的方式包括在边上的停靠和与其它可停靠窗口并列显示。以上所有行为在使用中的表现要求和vs2008的一致。在拖动停靠过程中的提示方式也要求和vs2008一致。
4. 属性窗口的外观要求和vs2008的一致。
外观包括所有的细节:边框,颜色,字体,背景,按钮,图标等等。此处需求在实现中允许改变,这取决于主模块的界面风格。
5.工具盒中分组控件的tab的外观要求和vs2008的一致
外观包括所有的细节:边框,颜色,字体,背景,按钮,图标等等。此处需求在实现中允许改变,这取决于主模块的界面风格。
6.窗体的外观
同样和vs2008的一致。外观包括所有的细节,比如:边框,背景,选中时的外观改变等等。此处需求在实现中允许改变,这取决于主模块的界面分格。
二.功能
工具盒的功能要求
工具盒中的控件仅限于以下说明的控件:
a. FrameWork3.5(及其以前版本)类库中的控件
b. 所有父类或祖先类来自FrameWork3.5(及其以前版本)的控件
以下是具体要求:
1. 分组控件的tab可以展开和收缩。实现的方式和vs2008的一致,点击左边的十字图标和
tab的按钮都应该可以完成。展开收缩时左边的图标会有改变,也是和vs2008的一致。
2. tab被选中/非选中时要有视觉上的变化,这个和vs2008的一致
3. 在vs2008中,鼠标右击tab标题,弹出菜单,要求和vs2008的一致。如果某一个功能
对当前tab无效那么就disable该菜单项。实现除了List View,Show All,Reset Toolbox以外的所有菜单项功能,实现的方式和vs2008的一致。如果List View,Show All,Reset Toolbox实现方便的话那么也要实现。
4. 在vs2008中,鼠标右击工具盒的空白处(工具盒内不属于任何tab的区域),弹出菜单,
要求和vs2008的一致。如果某一个功能当前无效那么就disable该菜单项。实现除了List View,Show All,Reset Toolbox以外的所有菜单项功能,实现的方式和vs2008的一致。如果List View,Show All,Reset Toolbox实现方便的话那么也要实现。
5. tab中的控件在选中/非选中时要有视觉上的变化,这个和vs2008的一致
6. 在vs2008中,鼠标右击工具盒中的控件,弹出菜单,要求和vs2008的一致。如果某一
个功能当前无效那么就disable该菜单项。实现除了List View,Show All,Reset Toolbox以外的所有菜单项功能,实现的方式和vs2008的一致。如果List View,Show All,Reset Toolbox实现方便的话那么也要实现。
属性窗口的功能
1. 正确的显示控件的属性。并且修改属性的行为和vs2008中的一致,与控件设计时的行
为一致。
2. 可以由用户选择是否显示或不显示命令和表述,实现的方式和vs2008的一致
3. 命令和描述区域的大小可以被改变,实现的方式和vs2008一致。此处需求在实现中允
许改变,这取决于主模块的界面分格。
窗体的功能
1.可以添加控件,方式和vs2008的一致,注意以点击窗体方式添加控件时,光标如果在
窗体上那么光标的icon就是选中控件的icon。这个行为和vs2008的一致。
2.如果添加的是不能显示在窗体上的控件,比如:菜单,ImageList等,要求显示的位置和方式也和vs2008一致。
3.选中/非选中控件时要求控件有视觉上的变化,这个和vs2008的一致
4.所有控件在被编辑时的行为应该和控件预先设计的行为和vs2008使用的行为一致。
5.支持单个或多个控件(如果是多个控件那么控件的类型允许不同)的选中,复制,粘贴,剪切,移动操作,实现方式和vs2008的一致
三.其他要求
1.可以直接打开vs2008的窗体文件并完成上述功能,保存后也可以被vs2008使用并没有任何错误。也可以自建新的窗体文件并能被vs2008使用,总之两者需要完全兼容。
2.在开发时要求有较好的面向对象的设计,容易修改,维护,便于第三方2次开发。
3.完成开发后要求提供对应的源代码(完整的可以被编译的solution),源代码的版权归我方所有。
4.在开发中需要使用到任何第三方控件或者其他任何一方的源代码应提前通知。

==================================================================

看完这个,我差点叫他找微软去买它的IDE了,呵呵。
假设能完成这些功能,应该收多少钱呢。
 
要他3、5个亿是没问题的
 
可能是想買國產的VS2008
 
好像也不过份,以前用DELPHI做一个ERP的时候,自定义窗体,再加一个执行脚本引擎,也就完成了
其实主要就是用RTTI,设计期其实就是运行期,反正也没有要求你调试。
在D下,用typinfo或者直接用INSPECTOR控件,设计期的窗体其实很好做的,registerclass,再创建控件上去,用一个八点的stretch控件进行绑定。好移动位置,拖动,注意一下parent即可。
拼出的窗体,可以保存成dfm文件,与DELPHI互通是没什么问题。在D下,只要用tread, twrite就可以做到这一点。
 
很黄很暴力
 
这个软件要实现的功能不过分,只是做一个窗体设计器,这个是很合理的。但是BT就BT在要做成VS2008一样的界面,一样的功能(窗体设计上)。qiubole做那个ERP自定义窗体时也不会按Delphi的界面和功能做那个设计器吧。
 
VS2008一样倒没有试过,我们以前做的那个,基本上和DELPHI的窗体设计也差不多了,在设计上面参考了CNPACK的方式。
不过,我感觉,它想要和VS2008一样,反而让你有了个可以参考的目标。
如果是用VS2008做,风格和VS2008一样,应该相对也比较容易的吧
一家之言。只要给得起钱,做啥都成
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
865
DelphiTeacher的专栏
D
顶部