有没有办法在图片框中隐藏图像,仍然可以点击

时间:2014-01-13 22:52:52

标签: c# picturebox visible

我正在使用C#

在Visual Studio 2013中编写一个Windows窗体程序

该程序是一个记忆游戏,人们可以看到哪些图片在哪个方块中,但是一旦他们点击第一张图片,所有图片都被隐藏,所以他们必须尝试记住每张图片所在的位置

我有一个tablelayoutpanel,里面有一个pictureBox网格。

有些正方形内部有随机图像,而其他正方形只有黑色正方形

我希望在单击一个图像时隐藏(或隐藏)所有非黑色图像。 我仍然希望在隐藏的'上点击活动。图像。

我试过过pictureBox.visible = false;但很明显,如果图片不可见,则不再接受点击事件。

我试图将pictureBox.ForeColor设置为Color.Gray,但这要么不起作用,要么前面的颜色在图像后面。我尝试了control.BringToFront(),但我想我使用了错误的控件,因为我的颜色没有在图像前面移动。

是否有办法让图片显示为隐藏状态并仍然响应鼠标点击,或者是否有办法在图像上显示颜色,以便图像仍在那里,但在某些颜色后面。

无论哪种方式都没问题。

2 个答案:

答案 0 :(得分:4)

你无法拥有隐藏/不可见和可点击的东西。

这样做的一种方法是用空白图像替换真实图像。这可能与背景颜色相同,使其看起来像真实的图像已经消失。

设置图片框的ForeColor对图像无效。

另一种方法可能是将图像的不透明度设置为非常小的正值,以使图像不完全透明。这应该仍然是可点击的,但如果用户摆弄显示器亮度/对比度,它可能仍然可见。

答案 1 :(得分:0)

@ ChrisF的回答是正确的。

我想说的是hidden被称为它是什么,因为它在视图中是隐藏的,因此用户不会与它交互。从窗口隐藏元素的主要目的是阻止用户知道元素是否存在。

因此,最好的解决方案是添加透明图像或空白图像并使其可点击。