Skip to main content

Use a Custom Class to Show a Splash Form

  • 3 minutes to read

This topic demonstrates how create a custom splash form and use a custom class to show this form.

  1. Create a new Windows Form in your solution’s WinForms Application project, name the form SplashScreenForm, and design it to meet your requirements.



    To use designer tools for DevExpress controls in .NET 6+ applications, install the DevExpress.Win.Design package from the local NuGet feed, or from a remote NuGet feed at

  2. Add a new class to your WinForms Application Project and implement the ISplash interface.

    • Override the ISplash.Start method. Create a SplashScreenForm instance and call the form’s Show method.
    • In the ISplash.Stop method’s override, hide and close the SplashScreenForm.
    • The ISplash.IsStarted property indicates whether the SplashScreenForm is shown.
    • Override ISplash.SetDisplayText. You can call this method to change the SplashScreenForm‘s text.

    The code below demonstrates the MySplash class that implements the ISplash interface.

    using DevExpress.ExpressApp.Win;
    public class MySplash : ISplash {
        static private SplashScreenForm form;
        private static bool isStarted = false;
        public void Start() {
            isStarted = true;
            form = new SplashScreenForm();
        public void Stop() {
            if(form != null) {
                form = null;
            isStarted = false;
        public void SetDisplayText(string displayText) {
        public bool IsStarted {
            get { return isStarted; }
  3. Access the WinApplication.cs (WinApplication.vb) file. Set the SplashScreen property to a new MySplash class instance.

    public MySolutionWindowsFormsApplication() {
       SplashScreen = new MySplash();
       // ...
  4. You can display loading progress information. To do this, implement the the ISupportUpdateSplash interface in the MySplash class and add the UpdateInfo method to the SplashScreenForm class.

    public class MySplash : ISplash, ISupportUpdateSplash {
        // ...
        public void UpdateSplash(string caption, string description, params object[] additionalParams) {
    // ...
    public partial class SplashScreenForm : Form {
        // ...
        internal void UpdateInfo(string info) {
            label2.Text = info;
  5. Start the application to see the result.