Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对象引用未设置为splashform中对象的实例_C#_Splash Screen - Fatal编程技术网

C# 对象引用未设置为splashform中对象的实例

C# 对象引用未设置为splashform中对象的实例,c#,splash-screen,C#,Splash Screen,我想让我的程序在检查程序是否连接到设备时显示加载消息。。。但是,当我尝试使用代码关闭Splash窗体时,出现了一个错误 SplashForm.CloseForm(); 实际的表单代码是 class SplashForm { //Delegate for cross thread call to close private delegate void CloseDelegate(); //The type of form to be displayed as the s

我想让我的程序在检查程序是否连接到设备时显示加载消息。。。但是,当我尝试使用代码关闭Splash窗体时,出现了一个错误

SplashForm.CloseForm();
实际的表单代码是

class SplashForm
{
    //Delegate for cross thread call to close
    private delegate void CloseDelegate();

    //The type of form to be displayed as the splash screen.
    private static SplashForm splashForm;

    static public void ShowSplashScreen()
    {
        // Make sure it is only launched once.

        if (splashForm != null)
            return;
        Thread thread = new Thread(new ThreadStart(SplashForm.ShowForm));
        thread.IsBackground = true;
        thread.SetApartmentState(ApartmentState.STA);
        thread.Start();           
    }

    static private void ShowForm()
    {
        splashForm = new SplashForm();
        Application.Run(splashForm);
    }

    static public void CloseForm()
    {
        splashForm.Invoke(new CloseDelegate(SplashForm.CloseFormInternal));
    }

    static private void CloseFormInternal()
    {
        splashForm.Close();
    }
...
}
在此代码中。。。我在第行收到一条错误消息“对象引用未设置为对象的实例”

 splashForm.Invoke(new CloseDelegate(SplashForm.CloseFormInternal));

原因和解决方案是什么?

未将
对象引用设置为对象的实例
消息是NullReferenceException的商标。这里,这意味着您的
splashForm
字段为空


在调用“<代码> SpultFrase.CutelFielm()/代码>和2)之前,请调用“<代码> SpultFrase.StuffSelScript()/代码>)考虑调用<代码>线程.Cug()/<代码> <代码> StPrasHeldScript()/代码>,这样您可以确信,在离开该方法的时候,

splashForm
不为空。

未设置为对象实例的
对象引用
消息是NullReferenceException的商标。这里,这意味着您的
splashForm
字段为空


在调用“<代码> SpultFrase.CutelFielm()/代码>和2)之前,请调用“<代码> SpultFrase.StuffSelScript()/代码>)考虑调用<代码>线程.Cug()/<代码> <代码> StPrasHeldScript()/代码>,这样您可以确信,在离开该方法的时候,

splashForm
不为空。

我对同一程序中的其他进程使用相同的splashForm。它在那里工作,但不适用于我检查设备连接的特定代码。我在同一个程序的其他进程中使用相同的启动形式。它在那里工作,但不适用于我检查设备连接的特定代码。