本文讲述VS2003窗口的建立和创建。这些内容都是我今天花花了一周的时间查阅资料并像IT精英学习出来的,中间可能有不少错误是我没有挑出的,欢迎大家指正。网上论坛上也有相关内容。
目前成都创新互联已为上千多家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器托管、企业网站设计、东兴网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
VS2003窗口这个问题的根本原因是由于IE控件在处理隐藏消息时会将自己由系统中删除掉。解决的办法是:#t#
在改变控件父窗口的MdiParent属性之前将IE控件由该窗口的Controls集合中去掉,在改变之后再将IE控件添加到集合中 VS2003中MdiParent属性变化时会导致IE控件被摧毁掉,而不会重新生成。VS2005虽然也会被摧毁,不过控件会正确被重新创建
- private void button2_Click(object sender, System.EventArgs e)
- {
- if(m_frmOwner == null)
- m_frmOwner = this.MdiParent;
- Controls.Remove(this.axWebBrowser1);
- Visible = false;
- if(this.MdiParent == null)
- this.MdiParent = m_frmOwner;
- else
- {
- Point pos;
- pos = PointToScreen(Location);
- this.MdiParent = null;
- this.Location = pos;
- }
- Visible = true;
- Controls.Add(this.axWebBrowser1);
- }
重载VS2003窗口的OnVisibleChanged()方法 无论是VS2003还是VS2005,当改变IE控件的显示属性时,控件会被系统除去,而不会重新生成。对于VS2003来说,如果是改变MdiParent属性的话,也必须重载这个方法,否则在控件重新加入到窗口的集合中时,窗口在进行控件消息遍历时,会有问题。
- protected override void OnVisibleChanged(EventArgs e)
- {
- foreach(Control obj in Controls)
- obj.Visible = this.Visible;
- }
本文标题:瞬间教会你建立VS2003窗口的全部内容
当前链接:http://www.shufengxianlan.com/qtweb/news5/281755.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联