新聞中心
本文講述VS2003窗口的建立和創(chuàng)建。這些內(nèi)容都是我今天花花了一周的時間查閱資料并像IT精英學習出來的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。網(wǎng)上論壇上也有相關內(nèi)容。

目前成都創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設、域名、虛擬空間、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設計、東興網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
VS2003窗口這個問題的根本原因是由于IE控件在處理隱藏消息時會將自己由系統(tǒng)中刪除掉。解決的辦法是:#t#
在改變控件父窗口的MdiParent屬性之前將IE控件由該窗口的Controls集合中去掉,在改變之后再將IE控件添加到集合中 VS2003中MdiParent屬性變化時會導致IE控件被摧毀掉,而不會重新生成。VS2005雖然也會被摧毀,不過控件會正確被重新創(chuàng)建
- 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控件的顯示屬性時,控件會被系統(tǒng)除去,而不會重新生成。對于VS2003來說,如果是改變MdiParent屬性的話,也必須重載這個方法,否則在控件重新加入到窗口的集合中時,窗口在進行控件消息遍歷時,會有問題。
- protected override void OnVisibleChanged(EventArgs e)
- {
- foreach(Control obj in Controls)
- obj.Visible = this.Visible;
- }
文章題目:瞬間教會你建立VS2003窗口的全部內(nèi)容
分享URL:http://www.5511xx.com/article/dpsoisg.html


咨詢
建站咨詢
