把变量存在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();
}
}
使用全局变量。建议将不同变量类型的作用域理解下。
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();
}
}
设定一个全局变量可以用
就是
public Form1()
{
InitializeComponent();
}
下面在写个:
private string img1 = "";
就可以了
public void Form1_Load(object sender, EventArgs e)
{
Image img1 = (Image)pictureBox1.Image.Clone();
}
中的 Image 去掉.
这样肯定是不可以的,不过你可以在两个事件的外面定义这个image,在第一个事件中赋值,那么也就可以在第二个事件中查看了
把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();
}