我有一个小截屏程序,它的中心有一个透明面板(使用TransparencyKey)。
它工作正常,但我注意到编译版本与从VS运行它时得到的版本与项目属性中激活VS Host process
的版本之间存在奇怪的区别。
使用后者,我可以点击面板。但是Exe并没有这样做,关闭VS Host process activated
也会屏蔽鼠标的背景。
为什么会这样?是否有(廉价)技巧使其在exe中工作?
(在W8.1,64bit上运行VS Express 2013,关闭所有效果)
编辑:已解决(?!?)
将透明度键颜色更改为(任何)预定义颜色确实似乎有所不同:
pan_hole.BackColor = Color.Fuchsia; // .FromArgb(255, 242, 23, 199);
this.TransparencyKey = pan_hole.BackColor;
红色,绿色,黄色或LavenderBlush :-)也可以。
这很疯狂。我需要几个月才能相信它......!