[問題] 請教關於多表單的顯示順序問題

看板C_Sharp (C#)作者 (OswinC)時間14年前 (2011/06/22 16:35), 編輯推噓0(008)
留言8則, 2人參與, 最新討論串1/1
大家好, 不好意思打擾了, 我的問題是這樣的 目前有一個表單A 與 多個表單B 我希望讓表單A跟表單B永遠在最上層顯示 但表單B比表單A更上層(B壓在A上面) 我目前的解決方法是把 A 跟 B 的 TopMost 屬性都設為true 然後在表單A的 Activated 或 GotFocus 事件裡把所有的表單B都bringToFront 這樣一來A跟B都會一直在畫面中的最上層 即使滑鼠點表單A, 表單B也都會壓在A上面 但有個醜陋的問題...就是A要把B bringToFront時 都會有畫面重繪的現象 閃爍一下 Q_Q" 不知道有沒有類似設定顯示順序的方式可以使用? (B最上層, A次一層, 其他...) 因為如果我只設定B的TopMost為true, 就不會有畫面重繪而閃爍的問題 但這樣一來A就有可能被其他的視窗蓋掉 不知道這樣的說明有沒有清楚.........@@" 先謝過解答的大大囉 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.48.167

06/22 16:44, , 1F
用該Parent控制項的Controls.SetChildIndex來做設定
06/22 16:44, 1F

06/22 16:44, , 2F
數值越小越上面
06/22 16:44, 2F

06/22 17:18, , 3F
唔 最上層控制像沒辦法加入成為子控制項 所以好像沒辦法
06/22 17:18, 3F

06/22 17:18, , 4F
用這個方法耶@@"
06/22 17:18, 4F

06/23 07:38, , 5F
表單是指Form(一個視窗)嗎@@?
06/23 07:38, 5F

06/23 07:47, , 6F
你是在A呼叫B.Show()嗎? 情況允許用B.ShowDialog()嗎?
06/23 07:47, 6F

06/23 08:02, , 7F
找到了 http://www.blave.net.tw/335 這是你要的
06/23 08:02, 7F

06/23 13:12, , 8F
太太太~~~感激了 這就是我想要的東西 XD 找好久都找不到.
06/23 13:12, 8F
文章代碼(AID): #1E0QauYx (C_Sharp)
文章代碼(AID): #1E0QauYx (C_Sharp)