日期:2014-05-18  浏览次数:20776 次

一个透明,鼠标穿透 等问题的一个窗口问题。
有一个特殊需求,一个窗口显示文字,背景透明,但是可以点击产生事件。
现在几种方式都不能完全解决,特请教。

1、背景透明,文字能显示,但是不能点击,鼠标穿透窗口。
2、背景半透明,能点击,但文字也透明了。
3、加一个窗口在上面,因为涉及的改动很多,操作起来很麻烦。
4、上面加一个浮动的半透明控件,但是一直实行不好。

有什么好放方面吗?请教。

------解决方案--------------------
WPF啊
------解决方案--------------------
探讨
WPF啊

------解决方案--------------------
1、先把窗体的颜色变成一种很不常见的颜色。
2、把该窗体的TransparecyKey的颜色设置成窗体的颜色。
3、加入控件,但是控件的颜色不能和窗体颜色一致,否则控件也透明。
运行程序后,就只能看见标题栏和控件了。 

经测试,可以
------解决方案--------------------
完全透明相当于剪裁了窗体,被剪裁部当然不能响应事件,这是不可能的事。你必需将窗体设置一个透明度才行,明透度可以低些,这样就行了。
------解决方案--------------------
使用 
Graphics.FillRectangle 填颜色为 1,255,255,255
------解决方案--------------------
没太看明白什么意思,我个人理解的意思就是如果点击透明窗体的问题.如果我理解的对的话,那估计就很费劲了,窗体透明了是会过过滤事件的,估计你要用到钩子程序了.
如果用一个变通的方法,我觉得你可以设置一个图片,图片的大小和窗体的大小一样,然后把图片的背景设成透明,这样就可以接受鼠标点击事件了.也许你会问你的文字怎么办.我想到的办法是你在那个透明的图片前面在放一个图片,然后把你的文字生成bmp类,作为最前面图片的背景,这样也可以显示文字.

希望我正确理解了你的意思,并对你有所帮助.
------解决方案--------------------
层窗体支持鼠标调整大小及在原层窗体上显示控件
http://topic.csdn.net/u/20120119/17/fd6d77f1-b4b0-41c0-abc2-ab5f1f8ac18c.html
------解决方案--------------------
探讨
引用:

1、先把窗体的颜色变成一种很不常见的颜色。
2、把该窗体的TransparecyKey的颜色设置成窗体的颜色。
3、加入控件,但是控件的颜色不能和窗体颜色一致,否则控件也透明。
运行程序后,就只能看见标题栏和控件了。

经测试,可以

透明地方穿透了。不能点击