作者cloudlim (OswinC)
看板C_Sharp
標題[問題] 請教關於多表單的顯示順序問題
時間Wed Jun 22 16:35:01 2011
大家好,
不好意思打擾了, 我的問題是這樣的
目前有一個表單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
→ bdvstg:用該Parent控制項的Controls.SetChildIndex來做設定 06/22 16:44
→ bdvstg:數值越小越上面 06/22 16:44
→ cloudlim:唔 最上層控制像沒辦法加入成為子控制項 所以好像沒辦法 06/22 17:18
→ cloudlim:用這個方法耶@@" 06/22 17:18
→ bdvstg:表單是指Form(一個視窗)嗎@@? 06/23 07:38
→ bdvstg:你是在A呼叫B.Show()嗎? 情況允許用B.ShowDialog()嗎? 06/23 07:47
→ cloudlim:太太太~~~感激了 這就是我想要的東西 XD 找好久都找不到. 06/23 13:12