zoukankan      html  css  js  c++  java
  • 一个事半功倍的c#方法 动态注册按钮事件

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

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

    public double? value1 = null ;//获取运算符前的数值 
    public double? value2 = null ;//获取运算符前的数值 
    public type caltype=type .none ;//获取运算符 
    private void btnvalue1_Click(object sender, EventArgs e) 

    if (value1 == null) 

    value1 = Convert.ToDouble(btnvalue1.Text); 

    else 

    value2 = Convert.ToDouble(btnvalue1.Text); 

    this.txtvalue.Text = btnvalue1.Text; 
    }“1”按钮的单击事件 

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

    public double? value1 = null ;//获取运算符前的数值 
    public double? value2 = null ;//获取运算符后的数值 
    public type caltype=type .none ;//获取运算符 
    private void Form1_Load(object sender, EventArgs e) 

    btnvalue0.Click += new EventHandler(btnvalue_Click); 
    btnvalue1.Click += new EventHandler(btnvalue_Click); 
    btnvalue2.Click += new EventHandler(btnvalue_Click); 
    btnvalue3.Click += new EventHandler(btnvalue_Click); 
    btnvalue4.Click += new EventHandler(btnvalue_Click); 
    btnvalue5.Click += new EventHandler(btnvalue_Click); 
    btnvalue6.Click += new EventHandler(btnvalue_Click); 
    btnvalue7.Click += new EventHandler(btnvalue_Click); 
    btnvalue8.Click += new EventHandler(btnvalue_Click); 
    btnvalue9.Click += new EventHandler(btnvalue_Click); 
    //通过EventHandler将按钮控件的Click事件 
    绑定到 btnvalue_Click上面,从而动态注册按钮事件 

    private void btnvalue_Click(object sender, EventArgs e) 

    Button btn =(Button)sender ; 
    //实例化按钮,从而获取当前单击按钮的值 
    if (value1 == null) 

    value1 = Convert.ToDouble(btn.Text); 

    else 

    value2 = Convert.ToDouble(btn.Text); 

    this.txtvalue.Text = btn.Text; 

  • 相关阅读:
    2019.9.4 二维树状数组
    2019.9.4 简单题
    0052-YH的计算器
    0051-打乱顺序的三位数
    0050-计算天数
    0049-学校的上网费
    0048-三角形的判断
    0047-月份转换
    0046-简单的分段函数(二)
    0045-简单的分段函数(一)
  • 原文地址:https://www.cnblogs.com/sjqq/p/6428682.html
Copyright © 2011-2022 走看看