none
WINDFORM菜单换行排列及FORM内控件随窗体最大化最小化及C/S程序部署方案. RRS feed

  • 问题

  • 新人第一次请教,斗胆一提三问,请前辈同志多多指点.
    1.WINFORM动态生成菜单,在一行达到某数量后换行排列,该如何实现.
    2.FORM最大化/最小化时,如何控制其内控件一起变化.我是写了一个基窗体,其他窗体均继承与它,想在基窗体内达到这么控制然后以此控制子窗体最大/小化.
    3.C.S两端以WEBSERVICE通信还是Remoting通信方式好,俩者又改如何部署.


    做一名合格的中国人!
    2009年12月14日 0:57

答案

  • 你好!
         1,没有理解你想要怎样的效果,但是你可以用给菜单项设置子项的方法来横向的排列,这样可以避免菜单过长
         2,你先尝试Anchor,Dock等属性,如果不能满足你的要求,可以使用FlowLayoutPanel等类自定义布局
         3,这个选择需要根据具体的应用场景了定,如果是C/S结构的系统,目前这两种技术都可以达到你的要求!个人感觉Remoting使用起来还是有些复杂,不如WebService使用起来简单,如果将来要改成B/S结构的系统,通过WebService来提供服务就比较方便了!

    周雪峰
    • 已标记为答案 YiChun Chen 2009年12月16日 9:45
    2009年12月14日 4:01
    版主

全部回复

  • 至于用webservice还是remoting,看你的开发环境
    在应用开发层面区别:
    1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些
    2、Remoting不是标准,而Web Service是标准;
    3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。
    4、在VS.net开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便

    你参照下这里
    http://hi.baidu.com/davidgoo/blog/item/b0755083cbf50aa80cf4d2eb.html




    努力+方法=成功
    2009年12月14日 1:05
  • 你好!
         1,没有理解你想要怎样的效果,但是你可以用给菜单项设置子项的方法来横向的排列,这样可以避免菜单过长
         2,你先尝试Anchor,Dock等属性,如果不能满足你的要求,可以使用FlowLayoutPanel等类自定义布局
         3,这个选择需要根据具体的应用场景了定,如果是C/S结构的系统,目前这两种技术都可以达到你的要求!个人感觉Remoting使用起来还是有些复杂,不如WebService使用起来简单,如果将来要改成B/S结构的系统,通过WebService来提供服务就比较方便了!

    周雪峰
    • 已标记为答案 YiChun Chen 2009年12月16日 9:45
    2009年12月14日 4:01
    版主
  • 1,没有理解你想要怎样的效果,但是你可以用给菜单项设置子项的方法来横向的排列,这样可以避免菜单过长

    :就是自动生成的一行菜单长度超过其容器宽度时自动换行到下一行显示.如把IDE宽度拉下,看其菜单状态.就是想要的效果.

    2.不知可否有更好的解决方案,很多说要重写重绘的.不是很明白呢.

    3.根据您的意见,决定采用WEBSERVICE.


    感谢版主同志的回复.

    做一名合格的中国人!
    2009年12月14日 8:08
  • 不客气啊!
    1,建议采用多级菜单来实现
    2,你可以参考我上面的建议!
    3,希望我的意见对你有帮助!
    周雪峰
    2009年12月14日 10:16
    版主