一个C#简单的问题,帮忙解决一下,谢谢

Form1中Form2f2=newForm2();f2.Owner=this;f2.Show();Form2中Form1f1;f1=(Form1)this.Owner;/... Form1中
Form2 f2 = new Form2();
f2.Owner = this;
f2.Show();
Form2中
Form1 f1;
f1 = (Form1)this.Owner;

//这句不要写在构造方法里(会出错)

帮忙解释一下上面的onwer的作用以及注释语句中提到的错误是什么(初学,见笑了)谢谢
首先,感谢三位的回答!但结果还不是我真正想要的,这不怪你们,是我没有把问题说清楚!
我是想问,用这个Owner属性与不用有什么区别,比如说在这两个窗体焦点的获取上有什么变化,能不能同时处于获得焦点的状态?!
展开
 我来答
百度网友1a412ba
2010-04-10 · TA获得超过240个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:228万
展开全部
Owner是Form类的一个属性,你可以理解成指示他的父窗体类,即他的上一级窗体,也就是所谓的拥有者
//这句不要写在构造方法里(会出错)
这句是指的f1=(Form1)this.Owner;如果这句写在构造函数里,会出现NullRefreanceException这个异常,因为在Form2的构造函数里,还没有给f2的Owner属性赋值,那么this.Owner将会是Null值
ccm8730
2010-04-09 · TA获得超过254个赞
知道小有建树答主
回答量:533
采纳率:0%
帮助的人:472万
展开全部
Owner是Form2的一个属性
f2.Owner = this; 是吧Owner的属性设置为当前的
f1 = (Form1)this.Owner; // 你不能当前的属性 强制转换成Form1 类型

你可以理解成他的转换时单向的 不能反过来转
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石高飞1
2010-04-10 · TA获得超过560个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:241万
展开全部
Owner是一个属性,意思是拥有者的意思;
Form1中
Form2 f2 = new Form2();
f2.Owner = this;当前的意思是f2这个窗体对象的父对象是Form1的实例!

"//这句不要写在构造方法里(会出错)"
这句我想所指的是"f1 = (Form1)this.Owner;"吧!如果前面的这句与"Form2 f2 = new Form2(); "都写在构造函数里就会出现无限次的互相调用,形成死循环!
简单地说就是会不断的跳出窗体来!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
康楣风0Fp
2010-04-10 · TA获得超过180个赞
知道答主
回答量:99
采纳率:0%
帮助的人:74.6万
展开全部
你这个应该是MDI类型的吧,f2.Owner = this;this就是指FORM1了,就是FORM1窗体包含FORM2,2当做子窗体显示在1里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式