切换图片框可见性C#

Nis*_*ant 0 c# picturebox

为什么图片框控件的可见性属性在此处不起作用.我最初将它们设置为false,以便在屏幕加载时它们不可见.但后来我想切换这个.我做了以下但似乎没有工作.这是一个Windows窗体应用程序.

private void Action()
    {
        while (true)
        {

            Random r1 = new Random();
            int num = r1.Next(1,3);

            switch (num)
            {
                case 1:
                    pictureBoxLeft.Visible = true;
                    pictureBoxRight.Visible = true;
                    break;
                case 2:
                    pictureBoxLeft.Visible = true;
                    pictureBoxRight.Visible = false;
                    break;
                case 3:
                    pictureBoxLeft.Visible = false;
                    pictureBoxRight.Visible = true;
                    break;

            }

            Thread.Sleep(200);
            pictureBoxLeft.Visible = false;
            pictureBoxRight.Visible = false;
            Thread.Sleep(500);
        }
    }
Run Code Online (Sandbox Code Playgroud)

还要添加,这与文本框正常工作!有任何想法吗???

提前谢谢了

Guf*_*ffa 5

将该Visible属性设置为true不会显示该控件,它只会创建一个将显示它的消息.只要您保持主线程忙于a Sleep,它就不会处理任何消息,并且不会显示控件.

您应该显示图片框,然后设置一个计时器,其代码将在触发计时器的滴答事件时隐藏图片框.然后退出方法,以便主线程可以处理将显示图片框的消息.