当前位置:编程学习 > C#/ASP.NET >>

求教啊,怎么把他们写到一个方法里啊?

        private void button2_Click(object sender, EventArgs e,string str)
        {

            str = "1";
            textBox1.Text = textBox1.Text + str;
            str = null;
        }

        private void button3_Click(object sender, EventArgs e, string str)
        {
            str = "2";
            textBox1.Text = textBox1.Text + str;
            str = null;
        }

        private void button4_Click(object sender, EventArgs e, string str)
        {
            str = "3";
            textBox1.Text = textBox1.Text + str;
            str = null;
        }

        private void button6_Click(object sender, EventArgs e,string str)
        {
            str = "4";
            textBox1.Text = textBox1.Text + str;
            str = null;
        }

        private void button7_Click(object sender, EventArgs e, string str)
        {
            str = "5";
            textBox1.Text = textBox1.Text + str;
            str = null;
        }
怎么把他们用一个方法写出来,不论点哪个按钮都能调用?然后在方法里判断到底是点哪个按钮
行吗??求高人指点 --------------------编程问答-------------------- 呜呜~~~木有人啊。。。 --------------------编程问答-------------------- public string StrAdd(string str)
{
    return str + "5";
} --------------------编程问答-------------------- private void button2_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;//btn就是点击的按钮
} --------------------编程问答-------------------- 额,看花了。

public string StrAdd(string str1,string str2)
{
  return str1 + str2;
} --------------------编程问答-------------------- 送参数不同即可 --------------------编程问答-------------------- 楼主可以换种方法啊,给一个全局变量,然后单击不同的按钮赋予变量不同的值,然后在你想要的那个方法中判断变量的值然后执行不同的赋值不就行了?! --------------------编程问答--------------------
引用 3 楼 ojlovecd 的回复:
private void button2_Click(object sender, EventArgs e)
{
  Button btn = sender as Button;//btn就是点击的按钮
}

+,传到方法里 --------------------编程问答--------------------

private void CommonButton_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;
   
    /*我不知道你的str是否和按钮名称相关,只能猜测无关但是是固定值,所以就将其存放到按钮的Tag属性中*/
    string num = btn.Tag.ToString();
    textBox1.Text += num;
}

使用上面这种方式,需要:
1、在属性管理器中为每个按钮的Tag属性赋值,即将str的值填入到Tag属性中。如果改str的值是变动的,你可以在加载事件中赋值,btn1.Tag = "2";
2、在事件窗口中为按钮的Click事件指定处理方法CommonButton_Click
--------------------编程问答-------------------- private void button1_Click(object sender, EventArgs e)
        {
            string str = ((Button)sender).Name.Substring(6) ;
            textBox1.Text = textBox1.Text + str;
            str = null;
        } --------------------编程问答-------------------- 修改它们的click事件,把他们指向同一个。并修改他们的名字 --------------------编程问答--------------------

 <asp:Button ID="Button2" runat="server" Text="Button" 
        oncommand="Button_Command" CommandArgument ="1" />


 protected void Button_Command(object sender, CommandEventArgs e)
    {
        string str = e.CommandArgument.ToString();
        TextBox1.Text = TextBox1.Text + str;
        str = null;
    }
--------------------编程问答-------------------- 1、button有个Tag的属性,把要str的值放到Tag里面。
2、所有的按钮都共用一个事件
private void Button_Comm(object sender,EventArgs e)
{
   string str=((Button)sender).Tag.ToString();
   textBox1.Text=textBox1.Text+str;
}
--------------------编程问答-------------------- string str="";
private void button2_Click(object sender, EventArgs e,string str)
  {
  str = "1";
  Add(str);
  }

  private void button3_Click(object sender, EventArgs e, string str)
  {
  str = "2";
 Add(str);
  }

  private void button4_Click(object sender, EventArgs e, string str)
  {
  str = "3";
  Add(str);
  }

  private void button6_Click(object sender, EventArgs e,string str)
  {
  str = "4"; 
  Add(str);
  }

  private void button7_Click(object sender, EventArgs e, string str)
  {
  str = "5";
  Add(str);
  }

public void Add(string str)
{
   textBox1.Text+=str;
} --------------------编程问答--------------------
引用 12 楼 fan_xiaohu 的回复:
1、button有个Tag的属性,把要str的值放到Tag里面。
2、所有的按钮都共用一个事件
private void Button_Comm(object sender,EventArgs e)
{
  string str=((Button)sender).Tag.ToString();
  textBox1.Text=textBox1.Text+str;
}


在窗体的 Designer.cs里找到那些按钮的click事件,都绑定为一个按钮的事件即可 --------------------编程问答--------------------         public void add(Button a,string b)
        {
            a.Text += b;
        } --------------------编程问答-------------------- public void add(Button a)
  {
  a.Text += str;
  str=string.Empty;
  } --------------------编程问答-------------------- foreache(Button btn in this.Controles)
{
  btn.OnClick+= (sender ,e) =>{
      Button  bn = sender as btn;
      btn .Text+=  btn .Tag!=null ? "" :btn.Tag as string;
  };
} --------------------编程问答--------------------
引用 3 楼 ojlovecd 的回复:
private void button2_Click(object sender, EventArgs e)
{
  Button btn = sender as Button;//btn就是点击的按钮
}

还有在textbox里的tag属性绑定你要的数据,然后你就可以通过btn.tag得到!也就是str=btn.tag; --------------------编程问答-------------------- 求助,请问如何将添加和编辑写到一个方法里,如何控制,使得添加时走添加的代码,编辑的时候走的编辑的代码
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,