2016-05-20 15 views
0

特定の条件が満たされると、ピクチャボックスが無効になり、イメージがフリーズします。いつでもgifが再開されます。Pictureboxイメージのgif winformsを再開する方法C#

停止のPictureBox:http://prntscr.com/b6gg7a "再開" のPictureBox:http://prntscr.com/b6gglb

+0

これは起こりそうにありません。 – TaW

+0

それは本当に私を迷惑にしています。それを修正する方法はわかりません。何かヒントをお願いします。@TaW – PreqlSusSpermaOhranitel

+0

これは横滑りゲームですか?あなたが前進を止めるときはいつでも、背景を凍らせたい。右? –

答えて

-1

私は確かにこれはそう/かなり面倒なアニメーションGIFを実行することであると考えています。

あなたが/ IMOを行う必要があります可能性が以下の通りです:代わりに背景GIF作るの

、複数のフレーム(画像)の中にそれを破ります。 バックグラウンドを次の画像に切り替えるトリガータイマーを設定します。 ピクチャボックスを有効または無効にするのと同じ方法で、そのタイマーを一時停止および再開できます。

あなたの背景変更機能は、次のようなものになります:

int bgCount = 8; //Amount of frames your background uses 
int bgCurrent = 0; 
string[] bgImg = { 
    "bg1.png", 
    "bg2.png", 
    "bg3.png", 
    "bg4.png", 
    "bg5.png", 
    "bg6.png", 
    "bg7.png", 
    "bg8.png", 
}; 
     void changeBG() 
{ 
    if(bgCurrent > bgCount-1) //If not displaying the last background image go to the next one 
    { 
     bgCurrent++; 
     imgBox.image = bgImg[bgCurrent]; 
    }else //If displaying the last background image -> Start with the first one 
    { 
     bgCurrent = 0; 
     imgBox.image = bgImg[bgCurrent]; 
    } 
} 
} 

をそして、あなたはちょうどタイマートリガーにこのイベントをしましょう。タイマーを開始して停止するだけです。

追記:

1 *あなたはわずか8 imageboxedを作成し、それらが必要とされているとして、それらを表示する/呼び出し、代わりにソースを変更する、を試してみるかもしれません。

+0

私はすでに、それが他のユーザーによってstackoverflowでここで答えられたが、それはさらに悪いことを試みた。 – PreqlSusSpermaOhranitel

+0

これはどのように悪化する可能性がありますか? これは基本的にGIFを爆発させ、C#と一緒に戻して接着しますか? また、実行時間が悪く、多くのリソースが必要なように流暢でないようでしたか? –

+1

実際にgifを使用するのは巧妙なアイデアです。これは、winformsを持つ内部アニメーションとは対照的に、むしろ流暢に表示できます。しかし、すべての巧妙なアイデアがすべての方法で動作するわけではありません.. – TaW

関連する問題