看板 C_Sharp 關於我們 聯絡資訊
※ 引述《llama (阿譽)》之銘言: : ※ 引述《kaizan (kaizan)》之銘言: : : [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!!! 覆寫Form2的屬性ShowWithoutActivation 使其成為頂層視窗 但不是作用視窗 只要在form2加上code protected override bool ShowWithoutActivation { get { return true; } } 當然把form2設為透明 或半透明比較看的出效果 接著在form1隨便加控制項button1 textBox1 接著在form1的button1_click事件寫 form2.show(); textBox1.focus(); 就可以看到form2 並且在form1 的textBox1輸入東西 很陽春 不知道你是否要像這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.109.203 ※ 編輯: kojiro1982 來自: 61.228.109.203 (10/11 22:49) ※ 編輯: kojiro1982 來自: 61.228.109.203 (10/11 22:53)
llama:其實我是想要在 form2 上面設定一些控制項的事件 10/12 00:23
llama:點選 form2 的某些事件,就可以觸發 form1 當中的某些元件 10/12 00:25
llama:當然 form2 是在 form1 上面,且 form2 上面的東西是透明的 10/12 00:26
llama:不過舉的例子當中, form1和form2都是在某個Form的子視窗嘛? 10/12 00:27
llama:我把 form1 和 form2 弄成某個 Form 的子視窗後便不能變透明 10/12 00:27
llama:感謝您的用心,明天馬上去試試..:) 10/12 00:29
kojiro1982:MDI子表單好像弄不出透明耶 糟 10/12 00:42
llama:試了很久 ~"~ 10/12 13:27
llama:沒有人會這樣幹喔 ~"~ 10/13 11:16