请教有经验的人关于C# Winform程序中设计代码结构的问题
本人以前一直做VC++的开发,去年开始接触C#的winform开发,做了个别项目后一直被“怎么设计代码结构”的问题困扰,请教经验比较丰富的高手几个问题,前提都是界面结构比较复杂的winform程序:
1.一般主窗口中主要写哪些代码?我一般是写工具栏按钮事件、主菜单事件,问题是如果主窗口是复杂的窗口分割模式呢?比如类似visual studio那样的窗口,一些菜单是处理子窗口功能的,难道这些子窗口也作为MDIChild?不然不直接把菜单加到主菜单中的话还有什么其他方法?
2.一般弹出的对话框或者非模式窗口在不关闭的情况下怎么调用父窗口的功能?或者不是窗口而是一些后台的类对象,子窗口当然可以通过ParentForm的属性直接调用,但如果父窗口函数不是public的也没有办法啊。我经常写一些托管然后声明event这样的做法,但有时候感觉太多了看起来不舒服,不知道一般情况下应该怎么设计?
3.在分割窗口中,两个子视图直接传递消息或者互相响应的时候采用什么方法?要通过主窗口传递吗?这样好像又有很多托管和事件的产生。
综上所述,我写出的复杂界面的程序总是在主窗口类中有很多事件响应消息函数,或各个子窗口中有很多托管和事件。
请高手指导~~~~!谢谢