这在c#中被认为是一个不好的实践吗?

本文关键字:一个 认为是 这在 | 更新日期: 2023-09-27 17:53:18

我不是很擅长英语,我主要在java中开发,我试图为clickevent创建一个外部evenlistener,但我一直觉得这是错误的。

下面是我的例子:形式. .
public partial class MainFrame : System.Windows.Forms.Form
{
    private System.ComponentModel.Container components = null;
    private System.Windows.Forms.Button startButton;
    public MainFrame()
    {
        initGUI();
    }
    private void initGUI()
    {
        this.components = new System.ComponentModel.Container();
        this.Text = "CustomGUI";
        ShowIcon = false;
        this.startButton = new System.Windows.Forms.Button();
        startButton.Text = "Start";
        startButton.SetBounds(0, 0, 100, 25);
        this.Controls.Add(this.startButton);
        MainEventListener listen = new MainEventListener();
        startButton.Click += listen.startClicked;
    }

}

下一个:听者..

class MainEventListener
{
    public void startClicked(object sender, System.EventArgs e)
    {
        Application.Exit();
    }

}

最后:主方法..

 class ApplicationStarter
{
    static void Main(string[] args)
    {
        MainFrame frame = new MainFrame();
        System.Windows.Forms.Application.Run(frame);
    }
}

我总觉得我用错了方法。

这在c#中被认为是一个不好的实践吗?

  1. 你不必自己写这些。Visual Studio提供了一个模板和一个设计器来管理所有的表单初始化和配置代码。(InitGUI => InitializeComponent在一个局部类)

  2. 在c#中你不需要创建一个Listener类。只需使用事件。