Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以创建一个窗口,其客户端区域是透明的(使用透明键)并可以点击通过吗?_C#_Transparency - Fatal编程技术网

C# 我可以创建一个窗口,其客户端区域是透明的(使用透明键)并可以点击通过吗?

C# 我可以创建一个窗口,其客户端区域是透明的(使用透明键)并可以点击通过吗?,c#,transparency,C#,Transparency,使用C#我创建了一个窗口,它的边框是正常的,但是客户端区域是透明的(使用透明键)。在XP上,我可以点击它(访问透明区域下方的项目);但是,这在W7上不起作用。有没有一种方法可以让W7(和XP)工作 更新: 感谢大家的快速反应!看来我的问题的关键是不幸的事实,我碰巧用黄色作为我的透明键。我想让它在VisualStudio中脱颖而出,这样我就会记得它是透明的;而颜色的选择正是阻止点击的原因。我一换成灰色的背景色,效果就很好 this.TransparencyKey = this.BackColor;

使用C#我创建了一个窗口,它的边框是正常的,但是客户端区域是透明的(使用透明键)。在XP上,我可以点击它(访问透明区域下方的项目);但是,这在W7上不起作用。有没有一种方法可以让W7(和XP)工作

更新: 感谢大家的快速反应!看来我的问题的关键是不幸的事实,我碰巧用黄色作为我的透明键。我想让它在VisualStudio中脱颖而出,这样我就会记得它是透明的;而颜色的选择正是阻止点击的原因。我一换成灰色的背景色,效果就很好

this.TransparencyKey = this.BackColor;
这在Windows7中对我来说很好

根据,解决方法是将透明键设置为
灰色

  this.BackColor = Color.Gray;
  this.button1.BackColor = Color.Blue;
  this.TransparencyKey = Color.Gray;

我没那么做。我为透明度关键点设置了一种颜色,然后将背景色指定给相同的颜色(基本相同,但不同)。这允许你“点击通过”?窗口也被设置为TopMost=true,因为在我开始打印后,记事本变为活动状态,而不是Form1。我想知道你的背景色是否是灰色(R=G=B);因为我觉得“灰色”很重要。如果我将backcolor设置为transparencykey,但不使用灰色,那么单击through不起作用。是的,我刚刚发现你是对的。黄色似乎对我来说也不可点击。试试看?很有趣。。。出于某种原因,我选择黄色作为透明度关键点的颜色。当我将其更改为灰色时,它现在确实可以点击。这对任何人来说都有意义吗?阿努拉格,我想把你的回答作为答案,但你必须把它作为一个真实的答案贴出来,我才能这样做。