none
MDI 中開form 的問題 RRS feed

  • 問題

  • 請問一下 我有一個MDI Form  分別會開啟子視窗
    但  當我有一個子視窗被最大化
    之後的 form 都會變成最大化

    其實 我想做的是  開 一個form 都在最後一層  之後開的 都在它前面  不會因為點到 最後那 一層
    而  其它開的  表單都跑到最後去  使用者  就又要移來移去
    2009年12月31日 下午 04:27

解答

  • HI

    您可以將MenuStrip的MdiWindowListItem屬性設定至某一個功能表, 例如視窗(Window), 所有開啟的Child Form就會形成清單顯示在該功能表下, 使用者就可以透過該功能表快速地點出欲使用的Child Form了, 不需要一個一個移開其他的Child Form
    • 已標示為解答 布利 2010年1月5日 上午 09:36
    2010年1月5日 上午 03:40

所有回覆

  • 不行,MDI 窗格就是這樣,這是 Windows 底層的問題,而非一般基本可調的狀況。

    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年1月1日 上午 03:45
  • 我有一個比較詭異的方法. 就是當你開啟一個MDI Child的時候就把其它的Child Form給關掉 (因為反正最大化也看不見其它Child Form)
    這個方式是應用 Form.ActiveMdiChild.Close() 關閉現已開啟的Child Form

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?
    2010年1月1日 上午 05:05
    版主
  • 你指的是...

    每次開啟新窗體都在最前面嗎?? 如果是這樣的話...你可以使用

    this.TopMost = true; 試試....

    希望我有理解你的意思!!

    再補充一下...想要讓某視窗為下一層 試試...

    this.BringToFront();
    2010年1月1日 下午 08:43
  • 我有一個比較詭異的方法. 就是當你開啟一個MDI Child的時候就把其它的Child Form給關掉 (因為反正最大化也看不見其它Child Form)
    這個方式是應用 Form.ActiveMdiChild.Close() 關閉現已開啟的Child Form

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?

    其實  是使用者  可能  會先開一個  child form 已經占滿了螢幕
    他是想把後來開的form 擺在上面
    但因為 會不小心點到那個大的form 後來開的form 就都跑到後面
    有沒有什麼技巧可以解決呢?!!!
    2010年1月2日 上午 05:02
  • 我有一個比較詭異的方法. 就是當你開啟一個MDI Child的時候就把其它的Child Form給關掉 (因為反正最大化也看不見其它Child Form)
    這個方式是應用 Form.ActiveMdiChild.Close() 關閉現已開啟的Child Form

    學而不思則罔, 思而不學則殆.
    如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    如果你自私地不肯回饋與分享,那別人為何要花時間回答你的問題?

    其實  是使用者  可能  會先開一個  child form 已經占滿了螢幕
    他是想把後來開的form 擺在上面
    但因為 會不小心點到那個大的form 後來開的form 就都跑到後面
    有沒有什麼技巧可以解決呢?!!!
    請問大大  到底有沒有什麼tips 能解決我這個問題

    2010年1月3日 下午 12:50
  • Hi,

    能否先描述一下您想要做的功能
    我看下來感覺好像想做的是要把表單嵌到表單上
    是想把後來的表單在最下層的表單上隨意編排位置?

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年1月3日 下午 02:46
  • Hi,

    能否先描述一下您想要做的功能
    我看下來感覺好像想做的是要把表單嵌到表單上
    是想把後來的表單在最下層的表單上隨意編排位置?

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/

    不好意思 表達不清楚
    就是   使用者  可能會先開一個 childform 那個 form 已經占滿了  MDI form 的大小
    之後  開的form 雖然 會壓在  那個大form 上  但 若使用者 不小心點到 那個大childform
    後來開啟的form 就會跑到 最底層
    這樣  使用者 還要 把最大的form 移開去找那些後來開的form
    是否有辦法  解決這個問題 
    2010年1月3日 下午 03:26
  • Hi,
    你這段描述上面已經有了
    我想知道的是你想做的功能是?
    感覺有點像是把後面的表單當背景
    可任意放置表單在上面

    如果是這樣的話,可考慮把表單嵌入表單
    把上面的表單TopLevel屬性設為False,parent屬性設為底層的表單應該就可以了

    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2010年1月4日 上午 12:58
  • HI

    您可以將MenuStrip的MdiWindowListItem屬性設定至某一個功能表, 例如視窗(Window), 所有開啟的Child Form就會形成清單顯示在該功能表下, 使用者就可以透過該功能表快速地點出欲使用的Child Form了, 不需要一個一個移開其他的Child Form
    • 已標示為解答 布利 2010年1月5日 上午 09:36
    2010年1月5日 上午 03:40