Ticket B214286
Visible to All Users

UI - Integrate the built-in SplashScreenManager component

Answers approved by DevExpress Support

created 12 years ago (modified 12 years ago)

We have implemented the functionality described in this ticket. It will be included in our next update(s).

Please check back and leave a comment to this response to let us know whether or not this solution addresses your concerns.

Additional information:

Starting with version 13.1, I have made it easier to use the splash forms powered by the SplashScreenManager component from our XtraEditors library.
You can add a custom splash form into your WinForms executable project via the Add New Item… dialog and the new DevExpress v13.1 Template Gallery wizard (find there the XtraSplashScreen or XtraWaitForm items).
To tell XAF to use this custom splash form, configure your WinApplication descendant as follows:

C#
FeatureCenterWindowsFormsApplication xafApplication = new FeatureCenterWindowsFormsApplication(); xafApplication.SplashScreen = new DevExpress.ExpressApp.Win.Utils.DXSplashScreen(typeof(SplashScreen1));

Alternatively, you can display a static image as a splash. To do this, add a required image (say MySplashImage.png) into your executable project and set its BuildAction to EmbeddedResource. After that, you can use the following code:

C#
FeatureCenterWindowsFormsApplication xafApplication = new FeatureCenterWindowsFormsApplication(); xafApplication.SplashScreen = new DevExpress.ExpressApp.Win.Utils.DXSplashScreen("MySplashImage.png");

If a parameterless DXSplashScreen constructor is used, then the default wait form (DevExpress.ExpressApp.Win.Utils.DXSplashScreenForm) is displayed.
The DXSplashScreen class can also be used to display a splash image or provide a "live" splash notifying users about current progress.
Refer to the
"%Public%\Documents\DXperience 13.1 Demos\eXpressApp Framework\FeatureCenter\CS\FeatureCenter.Module.Win\Splash\SplashController.cs" file for more details on how this can be customized.
You can also localize the default splash messages:

  1. Localize the corresponding resource files as per the "Standard XAF Modules" section of the http://documentation.devexpress.com/#Xaf/CustomDocument3301 help article.
  2. In code by overriding the UpdateStatus method. This is demonstrated in the WinApplication.cs file of the FeatureCenter demo.
    The latest approach is more flexible and the easiest one.
    In the future it will be possible to localize the DevExpress.ExpressApp\Localization\ApplicationStatusMesssages.resx file or corresponding captions exported into the application model.
    Check the following video to see how this works in action:
    http://screencast.com/t/GgPz6VFT5W2
    Thanks,
    Dennis
    Show previous comments (3)
    Dennis Garavsky (DevExpress) 12 years ago

      @Andrew: I believe that you are looking for the SplashController file at a wrong location (check the path above). I suggest you open your FeatureCenter demo in Visual Studio and search for this file using built-in IDE facilities.
      As for the UpdateStatus method, you can find it in the WinApplication class in the WinApplication.cs file, as mentioned above. Again, you can search for it in the demo.
      As for the last problem, please create a separate ticket and attach a small sample project showing how you implemented it. We will do our best to research this behavior and find a solution for you.

        Hi Dennis,
        Thanks for the post. However, implementing this in a project upgraded from 12.1.11 to 13.1.4 would render the splashscreen's background to black. I created a fresh 13.1.4 xaf app, implemented this solution, and there seems to be no problem. I have attached the screenshots.

        1. dx1.png is what it looks like when running the app and then the login form appears
        2. dx2.png is what it looks like after logging in
        Dennis Garavsky (DevExpress) 12 years ago

          @Jason: I am afraid it is difficult to determine the reason by your screenshots.
          If this works in a brand new XAF app, then it seems that it is related to either settings or code of your project. Please create a separate ticket and attach it there for internal investigation if you can't find the cause of this behavior yourself.

          Other Answers

          created 13 years ago

            Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

            Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.