作者llama (阿誉)
看板C_Sharp
标题Re: 请问使用何种元件盖住 PictureBox 并且能透明씠…
时间Thu Oct 11 21:12:28 2007
※ 引述《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
1F:推 kojiro1982:我刚刚测试过 有个方法可以 10/11 22:38