推 kojiro1982:我剛剛測試過 有個方法可以 10/11 22:38
※ 引述《kaizan (kaizan)》之銘言:
: ※ 引述《llama (阿譽)》之銘言:
: [System.Runtime.InteropServices.DllImport("User32.dll")]
: private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
: private void button1_Click(object sender, EventArgs e)
: {
: Form2 f2 = new Form2();
: SetParent(f2.Handle, this.Handle);
: f2.Show();
: }
: 試試!
: 但至於如何取得作用和對到picture的位置
: 可能無法作用,是否有人可以解解
我想嘗試的東西在於如果一個父視窗上面有兩個子視窗重疊在一起,
該如何:
1. 讓上層的子視窗可以透明地看到下層子視窗的 layout。
2. 如何在上層利用週邊裝置,如鍵盤、滑鼠時,可以間接作用到下層
的子視窗
關於第一點的部分,好像要讓 Form 變成透明,就不能設定 mdi,因為
都透明不了,怪怪的!!! 只在兩個視窗是獨立時,設定 Opacity 或者
TransParencyKey 會有效力。不知是否我搞錯了!!
關於第二點的部分,本來想說在作用上層視窗後,就呼叫下層子視窗的
Focus(),不過原來這樣沒有用XD!!!
--
謝謝大家熱心指教 :)
: : 首先我有一個 Form1 上面有一個 PictureBox,然後我會把
: : Form1 的 IsMdiParent 設定成 true ,並且再 new 另一個 Form2
: : (當Form1 的子視窗),期望可以把 Form2 蓋在 PictureBox 上面,
: : 並且讓 Form2 是透明的也就是可以看到 PictureBox 的花樣。
: : 而在上一篇文章 kojiro1982 有提供把 Opacity 設定成透明,或
: : 者是設定控制項中的 TransparencyKey,很謝謝他熱心的提供,不過我
: : 現在發生我 new 出來的 Form2 一直沒辦法再 PictureBox 的上方,不
: : 知道該設定哪個屬性(應該不是TopMost),所以還沒辦法嘗試 kojiro1982
: : 所提供的方式。不知道應該怎麼設定才可以讓 Form2 落在 picturebox 的
: : 上方。修改 zorder?不過不知道在哪裡XD,謝謝你們 :)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.208.101