C# 如何使用PictureBox作为按钮

C# 如何使用PictureBox作为按钮,c#,.net,winforms,button,picturebox,C#,.net,Winforms,Button,Picturebox,我想创建一个轮盘赌游戏,我制作了一个带有轮盘赌桌图像的PictureBox 我已尝试在属性和代码中设置Visibility=False: pictureBox1.Visible = !pictureBox1.Visible; 但是当我点击隐藏的图片盒时,什么也没发生 你知道怎么做吗 我想通过单击它使其不可见。如果您想使pictureBox1不可见,您可以编写pictureBox1.visible=false 编辑:你正在做的应该是有效的。我创建了一个winform并在其中放置了一个图片框。我双

我想创建一个轮盘赌游戏,我制作了一个带有轮盘赌桌图像的
PictureBox

我已尝试在属性和代码中设置
Visibility=False

pictureBox1.Visible = !pictureBox1.Visible;
但是当我点击隐藏的
图片盒时,什么也没发生

你知道怎么做吗


我想通过单击它使其不可见。

如果您想使pictureBox1不可见,您可以编写
pictureBox1.visible=false

编辑:你正在做的应该是有效的。我创建了一个winform并在其中放置了一个图片框。我双击图片框以使Click事件处理程序生效,并键入
pictureBox1.Visible=!图片b1.可见。当我调试程序并单击图片框时,它将不可见。我想不出为什么它对你不起作用


编辑:我现在明白你想要什么了。使其在不可见时单击时可见。不幸的是,我不知道该怎么做。

一旦将某个项目的可见性设置为false,则无法再单击该项目。您可以在表单或容器级别处理单击事件,检查鼠标坐标是否包含在PictureBox的边界中,并使用它使其再次可见

i、 e


一个可能愚蠢但简单的方法可能是把一个图片框放在另一个上面。pictureBox1将是您的图片,pictureBox2将没有图片。然后你可以这样做:

    private void pictureBox1_Click(object sender, EventArgs e)
    {
        pictureBox1.Visible = false;
        pictureBox2.Visible = true;
    }

    private void pictureBox2_Click(object sender, EventArgs e)
    {
        pictureBox1.Visible = true;
        pictureBox2.Visible = false;
    }

您可以将每个PictureBox控件放在面板控件中。然后处理面板和PictureBox的单击事件

private void panel1_Click(object sender, EventArgs e)
{
    pictureBox1.Visible = true;
}

private void pictureBox1_Click(object sender, EventArgs e)
{
    pictureBox1.Visible = false;
}

您的逻辑问题是,一旦
图片盒
不可见,您就不能再单击它了,因为它已经不在表单上了,虽然您可以肯定地单击它留下的空白,但您仍然不能单击它


一种可能性是,不使其可见/不可见,而是放置/删除其背景图片,使其看起来已消失,但实际上它仍然存在,仍然能够接收单击并响应事件。

该行代码的功能是什么?您是否将对象绑定到其单击事件?
private void panel1_Click(object sender, EventArgs e)
{
    pictureBox1.Visible = true;
}

private void pictureBox1_Click(object sender, EventArgs e)
{
    pictureBox1.Visible = false;
}