for 0->100
SplashScreen.SetCurrentTitle("Loading " + Math.Ceiling(procent).ToString() + "%");
//SplashScreen.Instance.Invalidate(); doesn't helps :(
Application.DoEvents();
Thread.Sleep(20);
这是启动画面,但我只能看到1-> 18然后等待18-> 100但看不到:(
如何显示其他18-> 100:)
这个?
public static BeginDisplay() : void
{
Instance.Visible = true;
unless (Instance.Created)
{
Instance.CreateControl();
}
_=SetWindowPos(Instance.Handle, (HWND_TOPMOST :> IntPtr), 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
alphaBlend = if(Instance.FadeIn) (15 :> byte) else (255 :> byte);
Instance.SetBitmap((Instance.BackgroundImage :> Bitmap), alphaBlend);
when (Instance.FadeIn)
{
mutable tmrFade : Timer = Timer();
tmrFade.Interval = 10;
tmrFade.Tick += EventHandler(_fadeTick);
tmrFade.Start();
}
Instance.Show();
}
答案 0 :(得分:2)
这可能意味着您的初始化代码执行一个长操作,从而阻止了消息队列。你应该做以下事情:
DoEvents
)。这应该在执行初始化时定期完成。