Create and Show a Splash Form

  • 3 minutes to read

This topic describes how to create three splash forms (a Splash Screen, a Wait Form, and a Splash Image) and use them in an application.

Create and Use a Splash Screen or a Wait Form

There are two ways to create a Splash Screen or a Wait Form:

  • Create a new Windows Form in your WinForms Application project. Inherit the form from the SplashFormBase class or SplashFormBase descendant and customize the form.
  • Use the Splash Screen or the Progress Indicator template from the DXperience v20.1 Template Gallery project item. You can add or modify images and labels.

To use the Splash Screen or the Wait Form at the application's startup, open the WinApplication.cs (WinApplication.vb) file and pass the form to any DXSplashScreen constructor as the xtraSplashFormType parameter.

namespace MySolution.Win {
    public partial class MySolutionWindowsFormsApplication : WinApplication {
        // ...
        private void InitializeDefaults() {  
            // ...
            SplashScreen = new DXSplashScreen(typeof(MySplashScreenOrWaitForm));
            ExecuteStartupLogicBeforeClosingLogonWindow = true;
        }
        // ...
    }
}

To use the Wait Form with other splash forms, use a different constructor and pass the Wait Form as the waitFormType parameter.

You can use forms to indicate specific operations' progress.

Use a Splash Image

To show a Splash Image, add an image file to the Images folder in the WinForms Application project and set the file's Build Action property to Embedded Resource.

The following file types are acceptable:

  • SVG,
  • PNG,
  • other raster formats.
NOTE

You can use the Bitmap.MakeTransparent method to enable transparency for BMP images. You can also use an image editing application to convert your BMP file to PNG or another raster format that supports transparency.

To enable the image, access the WinApplication.cs (WinApplication.vb) file and assign the image to an Image or SVGImage object. Pass the object to the DXSplashScreen(Image) or DXSplashScreen(SvgImage) constructor to set the Splash Image as the application's default Splash Screen.

Raster Image

using System.IO;
using System.Reflection;
using DevExpress.ExpressApp.Win.Utils;

namespace MySolution.Win {
    public partial class MySolutionWindowsFormsApplication : WinApplication {
        // ...
        private void InitializeDefaults() {  
            // ...
            Assembly executingAssembly = Assembly.GetExecutingAssembly();
            Stream splashImageStream = executingAssembly.GetManifestResourceStream(
                assembly.GetName().Name + ".Images.MySplashImage.png");
            SplashScreen = new DXSplashScreen(Image.FromStream(splashImageStream));
        }
        // ...
    }
}

SVG Image

using System.Reflection;
using DevExpress.Utils.Svg;
using DevExpress.ExpressApp.Win.Utils;

namespace MySolution.Win {
    public partial class MySolutionWindowsFormsApplication : WinApplication {
        // ...
        private void InitializeDefaults() {  
            // ...
            Assembly executingAssembly = Assembly.GetExecutingAssembly();
            SplashScreen = new DXSplashScreen(SvgImage.FromResources(
                assembly.GetName().Name + ".Images.SplashImage.svg", assembly));
        }
        // ...
    }
}

To use the Splash Image with other splash forms, use a different constructor.

After you enable the Splash Image, you can show it for specific operations to indicate their progress.