求大神来看看这段代码哪里错了
private void timer4_Tick(object sender, EventArgs e)
{
int a = 0;
Random q = new Random();
a += (q.Next(1));
if (button1.Location.X==60||button4.Location.Y==80)
{
timer5.Enabled = true;
}
}
private void timer5_Tick(object sender, EventArgs e)
{
if (a == 0)
{
button1.visible = true
}
else
{
button1.Top += 20;
为什么每次这段代码都是执行else,怎么才能让他执行a=0时button1.visible=true
------解决方案-------------------- 引用: Quote: 引用:
你的代码中,timer4_Tick中的a是局部变量,在timer5_Tick中是不存在的。要想在timer5_Tick用到timer4_Tick中的a,那就把a定义为全局变量。否则你的timer5_Tick是未定义的,所以一直都是执行else C#的全局变量怎么设?能不能举个例子
在你的 timer4_Tick和 timer5_Tick方法外定义一个变量a,这样两个地方都可以用了。比如在窗体类下添加一个字段a,那么类里面所有方法都可以使用。
public partial class Form1 : Form
{
public int a; //这个类下面的方法都可以使用
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
//可以使用a
}
private void timer2_Tick(object sender, EventArgs e)
{
&nb