谁有空讲一下private void button1_Click(object sender, System.EventArgs e) 里的sender和e是干什么用的,msdn上讲解,我没看懂

duancj_1981 2006-01-19 05:49:43
谁有空讲一下private void button1_Click(object sender, System.EventArgs e){} 里的sender和e是干什么用的,msdn上的讲解不太好懂.
最好通俗一点.
...全文
384 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xvting 2006-01-19
  • 打赏
  • 举报
回复
SENDER

button的click继承自control

control的click代码
protected virtual void OnClick(EventArgs e)
{
if (this.CanRaiseEvents)
{
EventHandler handler1 = (EventHandler) base.Events[Control.EventClick];
if (handler1 != null)
{
handler1(this, e);
}
}
}


handler1(this, e);

这里传递给sender的是this,所以这里的sender是这个button自己
jackeyooo 2006-01-19
  • 打赏
  • 举报
回复
sender 就是发出这个事件的对象阿,e代表一些参数,比如鼠标的枚举值等
xvting 2006-01-19
  • 打赏
  • 举报
回复
sender 就是这个button1
e:存放一些传递参数  EventArgs 顾名思义就是关于这个事件的一些参数

System.EventArgs 里的参数比较贫乏


private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)

e里面包含了,是哪个鼠标DOWN了,鼠标点的X,Y坐标等内容


简单的C#计算器,但很实用 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Btn_Clear_Click(object sender, EventArgs e) { txt_Result.Text =" "; } private void button0_Click(object sender, EventArgs e) { Button btn=(Button) sender; txt_Result .Text +=btn.Text ; } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button2_Click(object sender, EventArgs e) { Button btn=(Button) sender; txt_Result .Text +=btn.Text ; } private void button3_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button4_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button5_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button6_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button7_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button8_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void button9_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text += btn.Text; } private void btn_Add_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; } private void btn_Result_Click(object sender, EventArgs e) { double d_result; string s_txt = txt_Result.Text; int space = s_txt.IndexOf(' '); string s1 = s_txt.Substring(0, space); char operation =System. Convert.ToChar(s_txt.Substring((space + 1), 1)); string s2 = s_txt.Substring(space + 3); double arg1 =System . Convert.ToDouble(s1); double arg2 =System . Convert.ToDouble(s2); switch (operation) { case '+': d_result = arg1 + arg2; break; case '-': d_result = arg1 - arg2; break; case '*': d_result = arg1 * arg2; break; case '/': if (arg2 == 0) { throw new ApplicationException(); } else { d_result = arg1 / arg2; } break; default: throw new ApplicationException(); } txt_Result.Text = d_result.ToString(); } private void btn_Sub_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text = txt_Result.Text+ " "+ btn.Text+ " "; } private void btn_cheng_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text = txt_Result.Text + " " + btn.Text+ " "; } private void btn_chu_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text = txt_Result.Text+ " "+ btn.Text + " "; } private void button10_Click(object sender, EventArgs e) { Button btn = (Button)sender; txt_Result.Text = txt_Result.Text + " " + btn.Text + " "; } private void button10_Click_1(object sender, EventArgs e) { } } }

110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧