web-dev-qa-db-fra.com

Bouton créé Cliquez sur l'événement c #

J'ai fait un bouton en utilisant 

Button buttonOk = new Button();

avec d’autres codes, comment puis-je détecter si le bouton créé a été cliqué?

5
Froodle
    public MainWindow()
    {
        // This button needs to exist on your form.
        myButton.Click += myButton_Click;
    }

    void myButton_Click(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Message here");
        this.Close();
    }
9
Bob Horn

Vous avez besoin d’un gestionnaire d’événements qui se déclenchera lorsque vous cliquerez sur le bouton . Voici un moyen rapide - 

  var button = new Button();
  button.Text = "my button";

  this.Controls.Add(button);

  button.Click += (sender, args) =>
                       {
                           MessageBox.Show("Some stuff");
                           Close();
                       };

Mais il serait préférable d’en comprendre un peu plus sur les boutons, les événements, etc. 

Si vous utilisez l'interface utilisateur de Visual Studio pour créer un bouton et que vous double-cliquez sur le bouton en mode conception, votre événement sera créé et connecté pour vous. Vous pouvez ensuite aller au code du concepteur (le code par défaut sera Form1.Designer.cs) où vous trouverez l'événement:

 this.button1.Click += new System.EventHandler(this.button1_Click);

Vous verrez également BEAUCOUP d'autres informations configurées pour le bouton, telles que l'emplacement, etc. - qui vous aideront à en créer une comme vous le souhaitez et à améliorer votre compréhension de la création d'éléments d'interface utilisateur. Par exemple. un bouton par défaut donne ceci sur ma machine 2012:

        this.button1.Location = new System.Drawing.Point(128, 214);
        this.button1.Name = "button1";
        this.button1.Size = new System.Drawing.Size(75, 23);
        this.button1.TabIndex = 1;
        this.button1.Text = "button1";
        this.button1.UseVisualStyleBackColor = true;

En ce qui concerne la fermeture du formulaire, il est aussi simple que de mettre Close (); dans votre gestionnaire d'événement:

private void button1_Click(object sender, EventArgs e)
    {
       MessageBox.Show("some text");
       Close();
    }
3
NDJ

si votre bouton est dans votre classe de formulaire:

buttonOk.Click += new EventHandler(your_click_method);

(pourrait ne pas être exactement EventHandler)

et dans votre méthode de clic:

this.Close();

Si vous devez afficher une boîte de message:

MessageBox.Show("test");
1
ppetrov

Créez la Button et ajoutez-la à la liste Form.Controls pour l'afficher sur votre formulaire:

Button buttonOk = new Button();
buttonOk.Location = new Point(295, 45);  //or what ever position you want it to give
buttonOk.Text = "OK"; //or what ever you want to write over it
buttonOk.Click += new EventHandler(buttonOk_Click);
this.Controls.Add(buttonOk); //here you add it to the Form's Controls list

Créez la méthode de clic sur le bouton ici:

void buttonOk_Click(object sender, EventArgs e)
        {
            MessageBox.Show("clicked");
            this.Close(); //all your choice to close it or remove this line
        }
0
Shaharyar