C#设计界面时,未将对象引用设置到对象实例问题解决方案

   在做.Net项目时,经常遇到在设计界面时,出现未将对象引用设置到对象实例问题,下面给出解决方案:
1、对于Winform和Asp.Net的界面设计可以按如下操作:
   Winform项目:
 
protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            if (string.Compare(Process.GetCurrentProcess().ProcessName, "devenv") == 0)
                return;
            //其他相关代码,或者
          //if (string.Compare(Process.GetCurrentProcess().ProcessName, "devenv") != 0)
          //  {
               //其他相关代码,
           // }


          //或者
           // if(!this.DesignMode)
          //{      }
         }


 有时必须在构告函数中添加一些操作(虽然不提倡这样做),也会出现这样的问题,在构造函数中的写去稍有不同
 
 public BuroHomeFrm()
        {
        InitializeComponent();
       if (string.Compare(Process.GetCurrentProcess().ProcessName, "devenv") != 0)
       {
           //其他代码。。。。。
       }



    或者
   
   // if(!this.DesignMode)
       //{  其他代码    }


       //如果还是那样写,还是会报错。
       // if (string.Compare(Process.GetCurrentProcess().ProcessName, "devenv") == 0)
       //         return;
       }


Asp.Net可参考上述写法
2、对于WPF,可以参考上述写法,也有另一种写法
   
 if(!DesignerProperties.GetIsInDesignMode(this)) 
    { 
        //其他代码
    } 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页