想对一个控件进行扩展,不知道如何才能在这个控件内定义的控件显示在这个控件的外面。。
2 回答
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
猜测你是在问WinForm下面的自定义控件吧?
WinForm下的一个控件,对应一个Win32的Window Handle,它们有严格的父子关系。子Window会被父Window裁剪。因此,你不可能让一个控件画出他的父控件。
对于大多数.NET Control(Form也是一个Control),都有Paint事件,你可以挂接这个事件,在其它控件的上进行绘画。比如,你可以通过FindForm方法,找到当前控件所在Form,然后,挂接Paint事件,在Form上画东西。看起来就像是你画出了自己的父一样。
如果你想画出Form,你就只有再开一个Form,把所有的边框统统去掉,设置TransparentKey为窗口的背景色。然后在上面绘画。看起来就像画到Form外面去了。但是,这些新画上去的东西可能会影响你的鼠标和键盘消息。解决这些问题,就需要更高级的实现了。就不多说了。
- 2 回答
- 0 关注
- 531 浏览
添加回答
举报
0/150
提交
取消