C#中关于pictureBox的调用
我建立了两个窗体,第一个窗体(Form1)中有一个pictureBox控件,然后在第二个窗体(Form2)中输入参数,然后按窗体二(Form2)中的确定(button)按...
我建立了两个窗体,第一个窗体(Form1)中有一个pictureBox控件,然后在第二个窗体(Form2)中输入参数,然后按窗体二(Form2)中的确定(button)按钮可以在Form1中的pictureBox中画出图来,我写的是。Form1.pictureBox1.image=bmp;报错提示为:非静态的字段、方法或属性“画折线图.Form1.pictureBox1”要求对象引用,非常感谢!
展开
3个回答
展开全部
转到Form1.pictureBox1的定义,在它前面加一个static
你试一下,我没有试过这种方法,不知道会不会引起其它地方的问题。
另外有一个比较科学的方法。系统启动时,先启动Form2
Form2中设置一个Form1类型的私有变量(例如名叫myForm1),然后在在Form2启动后,在构造函数里面将其实例化,然后在button_click时,使用
public partial class Form2 : Form
{
private Form1 myForm1; // 定义
public Form2()
{
InitializeComponent();
myForm1 = new Form1(); // 实例化
myForm1.show(); //显示它
}
private void btn1_Click(object sender, EventArgs e)
{
myForm1.pictureBox1.image=bmp;
}
你试一下,我没有试过这种方法,不知道会不会引起其它地方的问题。
另外有一个比较科学的方法。系统启动时,先启动Form2
Form2中设置一个Form1类型的私有变量(例如名叫myForm1),然后在在Form2启动后,在构造函数里面将其实例化,然后在button_click时,使用
public partial class Form2 : Form
{
private Form1 myForm1; // 定义
public Form2()
{
InitializeComponent();
myForm1 = new Form1(); // 实例化
myForm1.show(); //显示它
}
private void btn1_Click(object sender, EventArgs e)
{
myForm1.pictureBox1.image=bmp;
}
展开全部
你不能写Form1.pictureBox1.image=bmp,因为Form1是类,你一定要吧窗体的实例传递过去。建议你在Form1中,把this.pictureBox1作为参数传递过去,然后在控制!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上正解。这是多窗体参数传递的常见问题。建议多搜集一下,多尝试一下,就懂了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询