急急急急!!!C#中,如果pictureBox1是在form1中,怎样在form2中调用pictureBox1?

要在form2中点完“确定”按钮后在form1中的pictureBox1显示画面Graphicsg=pictureBox1.CreateGraphics();Penpen... 要在form2中点完“确定”按钮后在form1中的pictureBox1显示画面
Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Red, 10.5f);
g.DrawLine(pen, p11, p12);
C#提示上下文中不存在pictureBox1,怎么办?
谢谢,感激不尽!!
怎么不让追问啊?
变成Form1.pictureBox1 还是不行,错误显示什么:“画图作业.Form1. pictureBox1要求对象引用”
还有Form1不被销毁是什么意思啊?我是个初学者,听不太懂。
展开
 我来答
datianshen
2011-07-06 · 超过30用户采纳过TA的回答
知道答主
回答量:186
采纳率:0%
帮助的人:82万
展开全部
你的意思应该就是子窗口向父窗口传值吧,举个例子,比如你的form1肯定有一个事件是让from2显示出来比如
private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.ShowDialog();//这段代码是你显示窗口的地方,注意是ShowDialog(),而不是show
pictureBox1.ImageLocation = form.geturl;//这段代码是后边会说
}
你在from2中建一个全局变量,比如public string urll;
然后给from2写一个属性,估计你还没学过就跟建个函数差不多,只不过没()小括号,先这么理解吧;
public string geturl
{
get { return urll; }
}
在你的from2中的确定按钮为urll赋值,也就是你要传的值如
private void button1_Click(object sender, EventArgs e)
{
urll="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/logo-zhidao.gif";//为全局变量赋值
this.Close(); //关闭窗口
}
然后就回到上边的代码上了,在你新建from2就有了一个geturl的属性,并且值为你传的值。在你form2单击确定后,代码会走到form1新建form2对象的代码处,不信你可以调试试一下。看能不能给你启发
华瑞RAE一级代理商
2024-04-11 广告
Minimax 电商平台4是我们广州江腾智能科技有限公司推出的一款高端智能机器人。它集合了先进的人工智能技术,具备强大的学习和适应能力,可以根据不同环境进行自我优化。Minimax 电商平台4在多个领域都有广泛应用,如智能家居、医疗辅助、工... 点击进入详情页
本回答由华瑞RAE一级代理商提供
灰太狼张任甦
2011-07-07 · TA获得超过110个赞
知道答主
回答量:90
采纳率:0%
帮助的人:55.3万
展开全部
Application.OpenForms[i].pictureBox1;
这样可以调用。
Application.OpenForms是指本次应用程序打开的Form的集合,具体后面是OpenForm还是OpenForms我也记不大清楚了,反正就是这两个。
OpenForm[i]中的"i"是指你打开的第i各窗口是form1,如果实在不知道是第几个,就从0开始试好了,窗口数肯定不是很多吧。
楼上说的Form1不被销毁意思是打开form2的时候form1不被close()了,如果打开form2的时候执行了form1.Close(),建议改成form1.Hide()。
不过我觉得应该是不会写Close()。因为对于一个初学者,form1的关闭基本上标志整个程序的结束。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bd199ca
2011-07-11 · TA获得超过522个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:369万
展开全部
简单的做法,把form1作为新form2的参数传进去,就行了

就是说:新建窗体f2,不修改时,是 f2=new Form2(),现在改成,f2 =new Form2(this)
在Form2类中定义一个Form1类型的变量,操作就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
paperxin
2011-07-06 · TA获得超过250个赞
知道答主
回答量:64
采纳率:100%
帮助的人:76万
展开全部
方法一:将form1中的pictrueBox1设置成public
方法二:将form1作为form2的属性成员,创建form2后在show之前将form1赋值给form2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wgxaszc8
2011-07-06
知道答主
回答量:10
采纳率:0%
帮助的人:9248
展开全部
确定按钮的单击事件()
{
pictureBox1.Image = Image.FromFile("images/" + pic);
Form2 f2 = new Form2();
f2.pictureBox1.Image = this.pictureBox1.image;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式