RT。比较复杂的FORMS程序,主界面可能会提供很多的按钮,菜单,并且要处理这些事件,还有键盘事件,等。很容易造成主界面的代码发生膨胀,代码变得非常长。想问一下大家都有什么比较好的做法?

解决方案 »

  1.   

    我的问题和你差不多,我这边还有很多鼠标的事件
    一个form已经有3,4千行了
    这还是把很多功能都放到其他类里去了
    否则更多
    想来想去也没什么太好的办法
    毕竟光事件就几十个了
      

  2.   

    我有另外一种方法,可能比iniaow3 的做法稍差。
    对一个FORM中的代码进行拆分,分散到不同的partial类中。
    比如处理键盘事件,放到一个单独的Keyboard.cs中,菜单处理放到单独的Menu.cs中,这样各块分开,程序更清楚,改起来也相对容易。
      

  3.   


    select * from a
      

  4.   

    partial class 
    分多个cs文件,VS里新建Form的时候默认把XXXForm.cs跟XXXForm.Desginer.cs分开,它本身已经提供了一种很好的思路
    每个cs文件里可以是相对独立但又是属于该Form的功能模块,如(XXXForm.Menu.cs,XXXForm.Events.cs,.etc)使用UserControl,Plugin,合理使用设计模式当然都是好的方法
      

  5.   

    所有控件都不要直接用 微软的
    所有的都派生XXXTextBoxBase: TextBox
    .........
    Atextbox : XXXTextBoxBase这样的好处真是太大了, 好多逻辑是属于控件的, 比如数据校验, 如果使用微软的, 那窗口代码不膨胀死才怪呢再说让 form 来捣腾控件, 有些操作就不合逻辑, 另外再说好多 protected 的功能也用不上.