C#中如何表示"如果button1被点击过,则 x=y"
7个回答
展开全部
又是你啊,你提了好多类似的问题了,我就帮你解答一下吧。我在之前的你的一个提问里看到,你说按等于以后结果一直是0,为什么会这样?我就来解答这个问题。
一,原因:button25也就是你的等于按键被点击以后,它的触发它的源sender是button25,因此无论你怎么判断,z一直是0.另外你这句this.button28.Click += new EventHandler(button25_Click)绑定以后,没有一个东西去触发button28.click事件,也就是说button25_Click方法根本执行不了
二,解决办法:我帮你修改了下你的代码,如下
double x, y;
int i=0;
private void button28_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button28.Click += new EventHandler(25Click);
i=1;
}
private void button24_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button24.Click += new EventHandler(25Click);
i=2;
}
private void button19_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button19.Click += new EventHandler(25Click);
i=3;
}
private void button14_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button14.Click += new EventHandler(25Click);
i=4;
}
private void 25Click(object sender, EventArgs e)//这只是一个普通方法
{
y = Convert.ToDouble(label1.Text);
double z=0;
if (sender == this.button28)
z = x + y;
else if (sender == this.button24)
z = x - y;
else if (sender == this.button19)
z = x * y;
else if (sender == this.button14)
z = x / y;
string result =z.ToString("");
label1.Text = result;
}
private void dengyubutton_Click(object sender, EventArgs e)//这是等于按键的click事件执行的方法
{
switch(a)
{
case 1:button28.PerformClick();break;//PerformClick方法是触发事件
case 2:button24.PerformClick();break;
case 3:button19.PerformClick();break;
case 4:button14.PerformClick();break;
}
}
大概思路就是这样,我没在编译环境调试过,只是提供思路而已。
提醒一下,定义了int i=0,在button的click事件里面,要将i变为1,或者2,3,4
你要用关键字ref,这样就是引用传递了。我上面的代码没写全,您悠着点。
还有什么不懂的,您可以接着提问,谢谢
一,原因:button25也就是你的等于按键被点击以后,它的触发它的源sender是button25,因此无论你怎么判断,z一直是0.另外你这句this.button28.Click += new EventHandler(button25_Click)绑定以后,没有一个东西去触发button28.click事件,也就是说button25_Click方法根本执行不了
二,解决办法:我帮你修改了下你的代码,如下
double x, y;
int i=0;
private void button28_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button28.Click += new EventHandler(25Click);
i=1;
}
private void button24_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button24.Click += new EventHandler(25Click);
i=2;
}
private void button19_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button19.Click += new EventHandler(25Click);
i=3;
}
private void button14_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(label1.Text);
label1.Text = "";
this.button14.Click += new EventHandler(25Click);
i=4;
}
private void 25Click(object sender, EventArgs e)//这只是一个普通方法
{
y = Convert.ToDouble(label1.Text);
double z=0;
if (sender == this.button28)
z = x + y;
else if (sender == this.button24)
z = x - y;
else if (sender == this.button19)
z = x * y;
else if (sender == this.button14)
z = x / y;
string result =z.ToString("");
label1.Text = result;
}
private void dengyubutton_Click(object sender, EventArgs e)//这是等于按键的click事件执行的方法
{
switch(a)
{
case 1:button28.PerformClick();break;//PerformClick方法是触发事件
case 2:button24.PerformClick();break;
case 3:button19.PerformClick();break;
case 4:button14.PerformClick();break;
}
}
大概思路就是这样,我没在编译环境调试过,只是提供思路而已。
提醒一下,定义了int i=0,在button的click事件里面,要将i变为1,或者2,3,4
你要用关键字ref,这样就是引用传递了。我上面的代码没写全,您悠着点。
还有什么不懂的,您可以接着提问,谢谢
展开全部
或者你可以这样
先声明一个布尔值说明按钮是否点击过,默认是false;
private bool clicked=false;
button1的点击事件中更改clicked的值
private void button1_Click(object sender, EventArgs e)
{
clicked=true;
}
最后到你需要进行判断的地方
if(clicked){
x=y;
}
这样回答你是否满意?
先声明一个布尔值说明按钮是否点击过,默认是false;
private bool clicked=false;
button1的点击事件中更改clicked的值
private void button1_Click(object sender, EventArgs e)
{
clicked=true;
}
最后到你需要进行判断的地方
if(clicked){
x=y;
}
这样回答你是否满意?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你就在button1的点击事件中写X=Y好了···
private void button1_Click(object sender, EventArgs e)
{
x=y;
}
private void button1_Click(object sender, EventArgs e)
{
x=y;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接在 button1_Click 事件中写:string x="y"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在button1的click事件中写x=y就可以了。
如下
private void button1_Click(object sender, EventArgs e)
{
x = y;
}
如下
private void button1_Click(object sender, EventArgs e)
{
x = y;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询