如何在加载应用程序时显示图像

我有和应用程序窗口forms.net和我的form1花了很多时间出现,因为在它的事件form1_Load做了很多操作。

我的目标是在操作完成时显示图像。

 private void form1_Load(object sender, EventArgs e) { methode1(); } 

虽然我的methode1()正在工作,我的表格没有显示,我想在我的methode1()工作时在屏幕上显示图像,因为当methode1()工作时,屏幕上什么也没有。

.net中的所有视觉内容都是在表单上完成的。 您可以通过创建一个包含图像的小表单来执行此操作,该表单在module1()之前和完成module1()之后将其加载。 略低于..

 private void form1_Load(object sender, EventArgs e) { Form f = new Form(); f.Size = new Size(400, 10); f.FormBorderStyle = FormBorderStyle.None; f.MinimizeBox = false; f.MaximizeBox = false; Image im = Image.FromFile(path); PictureBox pb = new PictureBox(); pb.Dock = DockStyle.Fill; pb.Image = im; pb.Location = new Point(5, 5); f.Controls.Add(pb); f.Show(); methode1(); f.Close(); } 

使用静态图像创建另一个表单,仅用于加载,并在应用程序开始加载之前显示它,然后销毁它。 总是在顶部,没有边框是这种事情的通常设置。

试试这个代码

 using System.Reactive.Linq; private void RealForm_Load(object sender, EventArgs e) { var g = new Splash(); // place in this delegate the call to your time consuming operation var timeConsumingOperation = Observable.Start(() => Thread.Sleep(5000)); timeConsumingOperation.ObserveOn(this).Subscribe(x => { g.Close(); this.Visible = true; }); this.Visible = false; g.ShowDialog(); } 

此代码使用Microsoft Rx在后台线程中执行操作以及其他很酷的function

http://msdn.microsoft.com/en-us/data/gg577609.aspx

为了使此代码有效,您需要引用两个nuget包:Rx和Rx窗体

https://nuget.org/packages/Rx-Main/1.0.11226

https://nuget.org/packages/Rx-WinForms/1.0.11226

(闪屏c# – google it)

这是我刚发现的: http : //msdn.microsoft.com/en-us/library/aa446493.aspx