c# 在一个事件中定义的变量,怎么在另一个事件里调用?

2024-12-21 14:31:42
推荐回答(5个)
回答1:

把变量存在ViewState 里面
public void Form1_Load(object sender, EventArgs e)
{
Image img1 = (Image)pictureBox1.Image.Clone();
ViewState["Img"]=img1;
}
public void button3_Click(object sender, EventArgs e)
{
if( ViewState["Img"]!=null)
{
Image img1=(Image)ViewState["Img"];
pictureBox1.Image = img1;
pictureBox1.Refresh();
}
}
补充。。
忘记看了 楼主写的是Form 程序 不是Web的
那就使用全局变量 把它定义到外面
Image img1=null;
public void Form1_Load(object sender, EventArgs e)
{
img1 = (Image)pictureBox1.Image.Clone();
}
public void button3_Click(object sender, EventArgs e)
{
if(img1!=null)
{
pictureBox1.Image = img1;
pictureBox1.Refresh();
}
}

回答2:

使用全局变量。建议将不同变量类型的作用域理解下。
Image img1;
public void Form1_Load(object sender, EventArgs e)
{
img1 = (Image)pictureBox1.Image.Clone();
}
public void button3_Click(object sender, EventArgs e)
{
if(img1 != null)
{
pictureBox1.Image = img1;
pictureBox1.Refresh();
}
}

回答3:

设定一个全局变量可以用
就是
public Form1()
{
InitializeComponent();
}
下面在写个:
private string img1 = "";
就可以了
public void Form1_Load(object sender, EventArgs e)
{
Image img1 = (Image)pictureBox1.Image.Clone();
}
中的 Image 去掉.

回答4:

这样肯定是不可以的,不过你可以在两个事件的外面定义这个image,在第一个事件中赋值,那么也就可以在第二个事件中查看了

回答5:

把img1定义在外面
Image img1;
public void Form1_Load(object sender, EventArgs e)
{
Image img1 = (Image)pictureBox1.Image.Clone();
}

public void button3_Click(object sender, EventArgs e)
{
pictureBox1.Image = img1;
pictureBox1.Refresh();
}