C++ cli C++/CLI Windows窗体将gif更改为图像

C++ cli C++/CLI Windows窗体将gif更改为图像,c++-cli,windows-forms-designer,C++ Cli,Windows Forms Designer,代码很简单。按下按钮后,将当前图像更改为gif,然后更改为gif之后的图像 目标是播放gif,然后切换到jpg。从一开始,这是行不通的。我尝试了不同的计时技术,例如使用Sleep()、for循环以及两者的混合。这根本没有给gif播放时间。图像仍然是主图像,延迟了多长时间并跳转到jpg 按下按钮后,如何以指定的顺序更改图像,甚至GIF,并在每个顺序之间指定延迟时间 private: System::Void button1_Click(System::Object^ sender, System

代码很简单。按下按钮后,将当前图像更改为gif,然后更改为gif之后的图像

目标是播放gif,然后切换到jpg。从一开始,这是行不通的。我尝试了不同的计时技术,例如使用Sleep()、for循环以及两者的混合。这根本没有给gif播放时间。图像仍然是主图像,延迟了多长时间并跳转到jpg

按下按钮后,如何以指定的顺序更改图像,甚至GIF,并在每个顺序之间指定延迟时间

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
             {
                pictureBox1->Load("gif");
                pictureBox1->Load("jpg");
             }
试试这个

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
         {
            pictureBox1->Load("gif");
            Timer->Enabled=true;
         }

private: System::Void Timer_tick(System::Object^  sender, System::EventArgs^  e) 
         {
           pictureBox1->Load("jpg");
         }

多亏了在这里发帖的Michail的帮助,我才找到了解决问题的办法。表单在pictureBox1中有一个预定的jpg。此代码允许gif在pictureBox1中播放一定时间。一旦时间满足,它会将pictureBox1中的图像更改为与以前不同的jpg。如果你能找到一种方法来应用这个方法,这个方法也可以作为一个定时加载屏幕。希望这对将来的人有所帮助

    #pragma endregion

        public:
            static int second = 0;

        private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e) 
        {
            if(second != 42)
            {
                second++;
            }
            if(second >= 42)
            {
                pictureBox1->Load(".jpg");
                timer1->Enabled=false;
            }
        }

        private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
        {
            pictureBox1->Load(".gif");
            timer1->Enabled=true;
        } 

你的代码是C++ + CLI而不是C++。请适当地标记你的帖子。可以。我很抱歉。您还可以将timer1->Interval设置为42000,并且不计算秒数。别忘了停止定时器。