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();

}
展开
 我来答
kevin3923
2012-09-18
知道答主
回答量:3
采纳率:0%
帮助的人:4689
展开全部
因为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;
}
}
}
fdyshlk
推荐于2016-10-27
知道答主
回答量:26
采纳率:0%
帮助的人:27.2万
展开全部
两步解决:
1·把form1中的picturebox1的属性栏的modifiers属性由默认的private改成public
2·调用的时候用form1.picturebox1.image
包你没错
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lipengfei_kk
2012-09-19
知道答主
回答量:13
采纳率:0%
帮助的人:9.6万
展开全部
你选中界面设计上面的pictureBox1然后右键属性,找到访问权限控制,默认是private 改成public 就好了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dabenger
2012-09-18 · TA获得超过214个赞
知道小有建树答主
回答量:369
采纳率:78%
帮助的人:206万
展开全部
form中的picturebox的一个属性应该设置为public,默认为private
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-25
展开全部
把picturebox1的private改成public
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式