显示启动图片

当我的应用程序启动时,我们怎么能显示启动画面,因为每个软件如Photoshop,vs word等? 我计划将其粘贴在表格上,然后显示它,但有顶部的蓝色条,有控制等任何想法/

你真的想要一个闪屏吗? 网上有很多例子,例如: http : //www.codeproject.com/KB/cs/prettygoodsplashscreen.aspx

如果您正在寻找最简单的方法,则可以使用.NET Framework对启动屏幕的出色内置支持。 你必须抛开任何非理性的恐惧,你可能会在C#应用程序中包含一些名为“Visual Basic”的东西,但这样可以避免你不得不推出自己的自定义解决方案,并担心像线程,调用等等。 无论如何,这一切都归结为同样的IL。 以下是它的工作原理:

  1. Microsoft.VisualBasic的引用添加到项目中。

  2. 添加一个新表单(名称类似SplashForm )作为启动画面。

  3. 要使其看起来更像正确的启动画面,请将窗体的FormBorderStyle属性设置为“None”,将其StartPosition属性设置为“CenterScreen”。 您可以将任何控件或图像添加到此表单,以便在启动屏幕上显示此表单。

  4. 将以下代码添加到Project.cs文件中:

     using System; using System.Windows.Forms; using Microsoft.VisualBasic.ApplicationServices; namespace WindowsFormsApplication1 { static class Program { [STAThread] static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); new SplashScreenApp().Run(args); } } public class SplashScreenApp : WindowsFormsApplicationBase { protected override void OnCreateSplashScreen() { this.SplashScreen = new SplashForm(); this.SplashScreen.ShowInTaskbar = false; this.SplashScreen.Cursor = Cursors.AppStarting; } protected override void OnCreateMainForm() { //Perform any tasks you want before your application starts //FOR TESTING PURPOSES ONLY (remove once you've added your code) System.Threading.Thread.Sleep(2000); //Set the main form to a new instance of your form //(this will automatically close the splash screen) this.MainForm = new Form1(); } } } 

如果你想做一些像 Adobe Photoshop 一样创建透明闪屏的想法 ,可以将alpha通道PNG图像添加到项目的Resources文件中,然后将以下代码添加到启动画面窗体中,用以下代码替换splashImage嵌入式图像资源的路径:

 protected override void OnPaintBackground(PaintEventArgs pevent) { Graphics g = pevent.Graphics; g.DrawImage(splashImage, new Rectangle(0, 0, this.Width, this.Height)); } protected override void OnPaint(PaintEventArgs e) { //Do nothing here } 

为此,请确保关闭双缓冲,否则您将获得表单的黑色背景。 无论如何,没有理由双重缓冲启动画面。

您可以通过Form_Load() this.FormBorderStyle = FormBorderStyle.None删除所有这些蓝条等。

因此,如果我是你,我将创建一个特定大小的表单,然后在Form_Load()或在设计器生成的代码中直接设置以下内容:

 this.FormBorderStyle = FormBorderStyle.None; this.StartPosition = FormStartPostition.CenterScreen; 

现在你有一个像许多其他应用程序一样的启动画面 – 所有你必须做的就是编写所有使其可见的代码或不是东西等:)

WPF 3.5及更高版本实际上内置了启动画面支持,可以更快地渲染启动画面,并且代码更少(更多)。 有关详情,请参阅此页面 。

您正在编写WinForms或WPF应用程序吗? 您必须根据您编写的类型设置不同的属性。 如果您正在编写WPF应用程序,则可以将WindowStyle =“None”和ResizeMode =“NoResize”属性添加到XAML中的Window顶级元素。 第一个将使用最小化,resize和关闭按钮删除标题栏,而第二个将删除表单周围的边框。

现在,您有一个无边框表单,您可以修改它以创建一个启动屏幕,如果您想要或只是添加您的启动图像。 如果您不希望显示默认表单,则还需要添加Background =“Transparent”和allowsTransparency =“True”属性。 第一个将背景颜色设置为透明,而第二个允许您的程序看起来透明。 现在,您可以添加任何形状的任何图像,用户将在程序启动时仅看到该图像。

PS确保在启动屏幕显示一段时间后或者一旦应该“加载”东西的方法返回控制时加载另一个表单。

非常简单的东西!!