2013-01-15 1 views
1

Je ne suis pas très bon en anglais et je développe principalement en java, j'essayais de créer un evenlistener externe pour un clickevent, mais je continue à avoir le sentiment que c'est faux.Est-ce considéré comme une mauvaise pratique en C#?

Voici mon exemple: la forme ..

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; 

    } 


} 

suivant: l'auditeur ..

class MainEventListener 
{ 

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


} 

Enfin: la principale méthode ..

class ApplicationStarter 
{ 

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

Je garde avoir le sentiment que je le fais de la mauvaise façon.

Répondre

2
  1. Vous n'êtes pas obligé d'écrire tout cela vous-même. Visual Studio fournit un modèle et un concepteur pour gérer tout le code d'initialisation de formulaire et de configuration. (InitGUI => InitializeComponent dans une classe partielle).

  2. En C#, vous n'avez pas besoin de créer une classe d'écouteur. Utilisez simplement des événements.

+0

Et cela n'ajoute pas de code inutile comme netbeans? – user1705828

+0

Je ne connais pas netbeans, mais essayez-le. Pas beaucoup de graisse là-bas. –

+0

Il ajoute beaucoup de code supplémentaire, mais il est caché dans le fichier du concepteur. Il cache le positionnement du composant et le câblage de l'événement. Vous avez juste besoin de dire "onClick" faire "xyz" dans l'installation de l'événement dans Visual Studio. Il va ensuite créer un gestionnaire d'événement pour vous dans le code que vous pouvez renommer si vous voulez – devshorts

Questions connexes