c#如何在类中调用picturebox
我建了一个类和一个form,picturebox1在form中,我的类已经引用form了,为什么在类中写picturebox1还是显示不存在??类中的代码:publicv...
我建了一个类和一个form,picturebox1在form中,我的类已经引用form了,为什么在类中写picturebox1还是显示不存在??
类中的代码:
public void button1_Click()
{
OpenFileDialog ofdlg = new OpenFileDialog();
ofdlg.Filter = "Bmp File(*.bmp)|*.bmp";
if (ofdlg.ShowDialog() == DialogResult.OK)
{
Bitmap image = new Bitmap(ofdlg.FileName);
pictureBox1(报错).Image = image;
}
}
form中的代码:
private void button1_Click(object sender, EventArgs e)
{
Class1_1 ofdl = new Class1_1();
ofdl.button1_Click();
} 展开
类中的代码:
public void button1_Click()
{
OpenFileDialog ofdlg = new OpenFileDialog();
ofdlg.Filter = "Bmp File(*.bmp)|*.bmp";
if (ofdlg.ShowDialog() == DialogResult.OK)
{
Bitmap image = new Bitmap(ofdlg.FileName);
pictureBox1(报错).Image = image;
}
}
form中的代码:
private void button1_Click(object sender, EventArgs e)
{
Class1_1 ofdl = new Class1_1();
ofdl.button1_Click();
} 展开
展开全部
因为pictureBox1对象在form类中,所以你在另外一个类中无法访问到form类中成员。
解决的办法有两种(但不限于这两种):
1.把pictureBox1对象变为静态变量 即 static变量;
2.将form类的对象传到另外一个类中,例如;
public class from
{
public PictureBox pictureBox1 = new PictureBox()
private void button1_Click(object sender, EventArgs e)
{
Class1_1 ofdl = new Class1_1(this);
ofdl.button1_Click();
}
}
public class sampleClass
{
form fm;
public void sampleClass(form p_fm)
{
fm = p_fm;
}
public void button1_Click()
{
OpenFileDialog ofdlg = new OpenFileDialog();
ofdlg.Filter = "Bmp File(*.bmp)|*.bmp";
if (ofdlg.ShowDialog() == DialogResult.OK)
{
Bitmap image = new Bitmap(ofdlg.FileName);
fm.pictureBox1.Image = image;
}
}
}
解决的办法有两种(但不限于这两种):
1.把pictureBox1对象变为静态变量 即 static变量;
2.将form类的对象传到另外一个类中,例如;
public class from
{
public PictureBox pictureBox1 = new PictureBox()
private void button1_Click(object sender, EventArgs e)
{
Class1_1 ofdl = new Class1_1(this);
ofdl.button1_Click();
}
}
public class sampleClass
{
form fm;
public void sampleClass(form p_fm)
{
fm = p_fm;
}
public void button1_Click()
{
OpenFileDialog ofdlg = new OpenFileDialog();
ofdlg.Filter = "Bmp File(*.bmp)|*.bmp";
if (ofdlg.ShowDialog() == DialogResult.OK)
{
Bitmap image = new Bitmap(ofdlg.FileName);
fm.pictureBox1.Image = image;
}
}
}
展开全部
两步解决:
1·把form1中的picturebox1的属性栏的modifiers属性由默认的private改成public
2·调用的时候用form1.picturebox1.image
包你没错
1·把form1中的picturebox1的属性栏的modifiers属性由默认的private改成public
2·调用的时候用form1.picturebox1.image
包你没错
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你选中界面设计上面的pictureBox1然后右键属性,找到访问权限控制,默认是private 改成public 就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
form中的picturebox的一个属性应该设置为public,默认为private
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-09-25
展开全部
把picturebox1的private改成public
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询