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;
}
怎么把他们用一个方法写出来,不论点哪个按钮都能调用?然后在方法里判断到底是点哪个按钮
行吗??求高人指点
{ 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;
}
怎么把他们用一个方法写出来,不论点哪个按钮都能调用?然后在方法里判断到底是点哪个按钮
行吗??求高人指点
{
return str + "5";
}
{
Button btn = sender as Button;//btn就是点击的按钮
}
{
return str1 + str2;
}
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
{
string str = ((Button)sender).Name.Substring(6) ;
textBox1.Text = textBox1.Text + str;
str = null;
}
<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;
}
2、所有的按钮都共用一个事件
private void Button_Comm(object sender,EventArgs e)
{
string str=((Button)sender).Tag.ToString();
textBox1.Text=textBox1.Text+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;
}
在窗体的 Designer.cs里找到那些按钮的click事件,都绑定为一个按钮的事件即可
{
a.Text += b;
}
{
a.Text += str;
str=string.Empty;
}
{
btn.OnClick+= (sender ,e) =>{
Button bn = sender as btn;
btn .Text+= btn .Tag!=null ? "" :btn.Tag as string;
};
}