GIF Animation not working in Windows Form
Solution 1
Solved
My current Thread is busy to Play GIF Animation.
I tried So many ways like Application.DoEvents(); etc. But every thing can't helped me.
The answer in the following Question, which uses Threading is a very great working idea.
StackOverFlow: Show/Hide Splash Screen
Thanks for every one.
Solution 2
Make sure you have your image in the image property NOT THE BACKGROUND IMAGE PROPERTY. That's the mistake I made
Solution 3
It is working fine for me. I have just dragged a new pictureBox on form and setting image property at Form_Load() event and showing GIF animated.
I did same as you on button click:
TestForms.NavBarTest newForm = new TestForms.NavBarTest();
newForm.Show();
At my Test Form:
private void NavBarTest_Load(object sender, EventArgs e)
{
pictureBox1.Image = NavronChartControl.Properties.Resources.url;
}
Note: If your picture box is disabled then it will not animate the Gif
Reference:
How do you show animated GIFs on a Windows Form (c#)
Animated Progress Indicator in C# (Windows Forms)
Try to implement using this link:Animated GIF in picturebox won't animate apprach.
Solution 4
The best way to achieve it is to run the animation in an async task, but accordingly, some limitations are possible to do that on windows form using:
System.Threading.Thread.Sleep(int milliseconds)
.
My splash view is displayed with a gif (loading)
e.g.: In your constructor,
public partial class MainMenu : Form
{
private SplashScreen splash = new SplashScreen();
public MainMenu ()
{
InitializeComponent();
Task.Factory.StartNew(() => {
splash.ShowDialog();
});
Thread.Sleep(2000);
}
It is imperative to put the Thread.Sleep(int)
after starting a new one, don't forget that every action you did on this thread needs to be invoked, for example:
void CloseSplash()
{
Invoke(new MethodInvoker(() =>
{
splash.Close();
}));
}
Now your gif should work!
aWebdesigner09
Updated on July 16, 2022Comments
-
aWebdesigner09 almost 2 years
I have 2 WinForms
Form2 uses Infragistics ultraTabControl. On Tab Changing im Showing Form1.
In Form1
I have a
PictureBox
assigned with animatedGIF
In Form2
I am displaying Form1 like this.
Form1 frmOne=new Form1(); frmOne.Show();
Problem
GIF
is not playing animation.