8

を使ってボタンを作りました

Button buttonOk = new Button();

他のコードと一緒に、作成されたボタンがクリックされたかどうかをどのように検出できますか?そして、クリックするとフォームが閉じるようにしますか?

4

4 に答える 4

16
    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();
    }
于 2013-03-10T15:15:24.293 に答える
10

ボタンがクリックされたときに起動するイベントハンドラーが必要です。これが簡単な方法です-

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

  this.Controls.Add(button);

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

ただし、ボタンやイベントなどについてもう少し理解しておくとよいでしょう。

Visual Studio UIを使用してボタンを作成し、デザインモードでボタンをダブルクリックすると、イベントが作成され、接続されます。次に、イベントを見つけるデザイナーコード(デフォルトはForm1.Designer.cs)に移動できます。

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

また、場所など、ボタンに関する他の多くの情報設定も表示されます。これは、必要な方法で1つを作成するのに役立ち、UI要素の作成についての理解を深めるのに役立ちます。たとえば、デフォルトのボタンは私の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;

フォームを閉じることに関しては、Close()を置くのと同じくらい簡単です。イベントハンドラー内:

private void button1_Click(object sender, EventArgs e)
    {
       MessageBox.Show("some text");
       Close();
    }
于 2013-03-10T15:16:49.953 に答える
1

ボタンがフォームクラス内にある場合:

buttonOk.Click += new EventHandler(your_click_method);

(正確ではない場合がありますEventHandler

そしてあなたのクリック方法で:

this.Close();

メッセージボックスを表示する必要がある場合:

MessageBox.Show("test");
于 2013-03-10T15:16:19.327 に答える
0

を作成しButtonてリストに追加Form.Controlsし、フォームに表示します。

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

ここでボタン クリック メソッドを作成します。

void buttonOk_Click(object sender, EventArgs e)
        {
            MessageBox.Show("clicked");
            this.Close(); //all your choice to close it or remove this line
        }
于 2013-03-10T15:44:29.993 に答える