c# /.NET -更好的组织方式

本文关键字:方式 更好 NET | 更新日期: 2023-09-27 18:13:19

假设我有一个名为MyFormSystem.Windows.Forms.Form和两个嵌套的System.Windows.Forms.Panel,名为MyPanelMyOtherPanel。每个面板内部都有按钮、标签等。是否有一种方法可以将MyPanelMyOtherPanel分割成另一个类并在GUI中呈现为System.Windows.Forms.Panel

我的问题的主要目的是避免填充MyForm的名称空间。

谢谢!

c# /.NET -更好的组织方式

为了更好地组织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();