Click here to Skip to main content
15,887,331 members
Home / Discussions / C#
   

C#

 
Questionconvert piece of code from C++ to C# Pin
MrKBA10-Apr-15 8:25
MrKBA10-Apr-15 8:25 
AnswerRe: convert piece of code from C++ to C# Pin
RedDk12-Apr-15 16:49
RedDk12-Apr-15 16:49 
Questionsingle quote inside double quote in C# ASP.NET Pin
Rajeshkunwar2510-Apr-15 3:42
Rajeshkunwar2510-Apr-15 3:42 
AnswerRe: single quote inside double quote in C# ASP.NET Pin
OriginalGriff10-Apr-15 3:57
mveOriginalGriff10-Apr-15 3:57 
QuestionI can't get my splash screen to close Pin
jkirkerx9-Apr-15 11:00
professionaljkirkerx9-Apr-15 11:00 
AnswerRe: I can't get my splash screen to close Pin
Herman<T>.Instance9-Apr-15 23:54
Herman<T>.Instance9-Apr-15 23:54 
GeneralRe: I can't get my splash screen to close Pin
jkirkerx10-Apr-15 6:25
professionaljkirkerx10-Apr-15 6:25 
AnswerRe: I can't get my splash screen to close Pin
Richard MacCutchan10-Apr-15 2:20
mveRichard MacCutchan10-Apr-15 2:20 
A few changes to your FormSplash should make it work.

add a delegate to your class to handle the form closing
C#
delegate void CloseDelegate();

Add a method to handle the delegated form closing in a thread safe manner:
C#
void DoClose()
{
    if (this.InvokeRequired)
    {
        // if this is the background thread then invoke this
        // method on the main thread
        CloseDelegate d = new CloseDelegate(DoClose);
        this.Invoke(d);
    }
    else
    {
        // if it's the main thread ...
        // reduce the opacity gradually until the form disappears
        while (ms_frmSplash.Opacity > 0)
        {
            this.Opacity -= m_dblOpacityDecrement;
            System.Threading.Thread.Sleep(TIMER_INTERVAL);
        }
        this.Close(); // and close the form
    }
}

Change the CloseForm method to read:
C#
static public void CloseForm()
{
    if (ms_frmSplash != null && ms_frmSplash.IsDisposed == false)
    {
        ms_frmSplash.DoClose();
    }
    ms_oThread = null;  // we don't need these any more.
    ms_frmSplash = null;
}

Note also I used the following values:
C#
static int TIMER_INTERVAL = 1 * 1000;  // 1 second sleep timer
double m_dblOpacityIncrement = .1;  // not used
double m_dblOpacityDecrement = .1;  // 10%

[edit]
Updated to use proper cross-thread checking
[/edit]

modified 10-Apr-15 9:09am.

GeneralRe: I can't get my splash screen to close Pin
jkirkerx10-Apr-15 6:46
professionaljkirkerx10-Apr-15 6:46 
GeneralRe: I can't get my splash screen to close Pin
Richard MacCutchan10-Apr-15 6:50
mveRichard MacCutchan10-Apr-15 6:50 
GeneralRe: I can't get my splash screen to close Pin
jkirkerx10-Apr-15 7:38
professionaljkirkerx10-Apr-15 7:38 
QuestionApplication.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
jkirkerx9-Apr-15 7:02
professionaljkirkerx9-Apr-15 7:02 
AnswerRe: Application.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
Richard Deeming9-Apr-15 7:05
mveRichard Deeming9-Apr-15 7:05 
GeneralRe: Application.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
jkirkerx9-Apr-15 7:24
professionaljkirkerx9-Apr-15 7:24 
AnswerRe: Application.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
OriginalGriff9-Apr-15 21:47
mveOriginalGriff9-Apr-15 21:47 
GeneralRe: Application.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
jkirkerx10-Apr-15 6:24
professionaljkirkerx10-Apr-15 6:24 
GeneralRe: Application.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
OriginalGriff10-Apr-15 6:32
mveOriginalGriff10-Apr-15 6:32 
GeneralRe: Application.Run(new FormMain()); does not contain a constructor that takes 0 arguments Pin
jkirkerx10-Apr-15 7:36
professionaljkirkerx10-Apr-15 7:36 
QuestionParse XML Sibling Pin
antrock1019-Apr-15 6:23
antrock1019-Apr-15 6:23 
AnswerRe: Parse XML Sibling Pin
Richard Deeming9-Apr-15 6:39
mveRichard Deeming9-Apr-15 6:39 
GeneralRe: Parse XML Sibling Pin
antrock1019-Apr-15 9:22
antrock1019-Apr-15 9:22 
GeneralRe: Parse XML Sibling Pin
Richard Deeming9-Apr-15 10:02
mveRichard Deeming9-Apr-15 10:02 
AnswerRe: Parse XML Sibling Pin
surya tri13-Apr-15 2:21
surya tri13-Apr-15 2:21 
Questiongenerate a sequence of number prefixed with a character Pin
Jimmy-IN8-Apr-15 23:17
Jimmy-IN8-Apr-15 23:17 
AnswerRe: generate a sequence of number prefixed with a character Pin
Freak308-Apr-15 23:26
Freak308-Apr-15 23:26 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.