c# /.NET -更好的组织方式
本文关键字:方式 更好 NET | 更新日期: 2023-09-27 18:13:19
假设我有一个名为MyForm
的System.Windows.Forms.Form
和两个嵌套的System.Windows.Forms.Panel
,名为MyPanel
和MyOtherPanel
。每个面板内部都有按钮、标签等。是否有一种方法可以将MyPanel
和MyOtherPanel
分割成另一个类并在GUI中呈现为System.Windows.Forms.Panel
。
我的问题的主要目的是避免填充MyForm
的名称空间。
谢谢!
为了更好地组织WinForm代码,你可以做一个重要的设计考虑,那就是让每个表单都有一个Handler。所以你的代码是独立于WinForm.cs。例如,你可以有MyFormHandler.cs,它保存/实现你的MyPanel1和MyOtherPanel1逻辑。这是一种将代码与。net Winform代码分离的更好方法,并且易于重用、扩展和维护。
您可以创建一个新类来继承面板。然后你可以覆盖任何你想从面板上改变的属性或方法。在这种情况下,当你从主表单或MyForm调用它们时,你需要初始化它们,即
void main(){
MyPanelClass meaningfulpanelname = new MyPanelClass();
meaningfulpanelname.Show();
}
public class CustomPanel : Panel
{
protected override void functionToOverride(EventArgs e)
{
//what you want done
}
}
我包含了。show(),因为我不记得在c#中动态创建时是否需要这样做。
因为它是在一个Windows窗体应用程序我猜你做。
我还可以看到语法是
this.Controls.Add(meaningfulpanelname);
在void main()中代替
meaningfulpanelname.Show();