zoukankan      html  css  js  c++  java
  • 动态注册按钮事件

          前几天在网上看见一个制作计算器的c#程序,其中有一个动态注册按钮事件,觉的很有用。于是实际操作了一哈, 确实比较好。

          言归正传,下面就来讲讲怎样动态注册按钮事件。

          首先,我们需要设置变量来获取点击一个数字按钮的值,以便在“=”按钮单击事件中计算最终的结果。下面就是我开始的时候写的一段代码:  

    代码
    1 public double? value1 = null ;//获取运算符前的数值
    2  public double? value2 = null ;//获取运算符前的数值
    3  public type caltype=type .none ;//获取运算符
    4  
    5  private void btnvalue1_Click(object sender, EventArgs e)
    6 {
    7 if (value1 == null)
    8 {
    9 value1 = Convert.ToDouble(btnvalue1.Text);
    10 }
    11 else
    12 {
    13 value2 = Convert.ToDouble(btnvalue1.Text);
    14 }
    15 this.txtvalue.Text = btnvalue1.Text;
    16 }“1”按钮的单击事件
    17
    18 一共有十个这样的数字键按钮单击事件

    是不是觉得这样写很麻烦,于是就有了按钮注册事件。下面是我后面下的一段代码: 

    代码
    1 public double? value1 = null ;//获取运算符前的数值
    2  public double? value2 = null ;//获取运算符后的数值
    3  public type caltype=type .none ;//获取运算符
    4  
    5 private void Form1_Load(object sender, EventArgs e)
    6 {
    7 btnvalue0.Click += new EventHandler(btnvalue_Click);
    8 btnvalue1.Click += new EventHandler(btnvalue_Click);
    9 btnvalue2.Click += new EventHandler(btnvalue_Click);
    10 btnvalue3.Click += new EventHandler(btnvalue_Click);
    11 btnvalue4.Click += new EventHandler(btnvalue_Click);
    12 btnvalue5.Click += new EventHandler(btnvalue_Click);
    13 btnvalue6.Click += new EventHandler(btnvalue_Click);
    14 btnvalue7.Click += new EventHandler(btnvalue_Click);
    15 btnvalue8.Click += new EventHandler(btnvalue_Click);
    16 btnvalue9.Click += new EventHandler(btnvalue_Click);
    17 //通过EventHandler将按钮控件的Click事件
    18  绑定到 btnvalue_Click上面,从而动态注册按钮事件
    19 }
    20  private void btnvalue_Click(object sender, EventArgs e)
    21 {
    22 Button btn =(Button)sender ;
    23  //实例化按钮,从而获取当前单击按钮的值
    24   if (value1 == null)
    25 {
    26 value1 = Convert.ToDouble(btn.Text);
    27 }
    28 else
    29 {
    30 value2 = Convert.ToDouble(btn.Text);
    31 }
    32 this.txtvalue.Text = btn.Text;
    33 }

    是不是觉的比以前简单多了

  • 相关阅读:
    day11
    day10
    day9
    day8
    day7
    day6
    day14
    day13
    day12
    day11
  • 原文地址:https://www.cnblogs.com/top5/p/1709451.html
Copyright © 2011-2022 走看看