首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Form在设计时就会执行相关代码吗,Application.StartupPath!

2014-01-28 
代码一C# codestatic public string GetConfValue(string filename, string path){XmlDocument conf new

代码一
 

C# code
        static public string GetConfValue(string filename, string path)        {            XmlDocument conf = new XmlDocument();            try            {                conf.Load(Application.StartupPath + Path.DirectorySeparatorChar + filename);                return conf.SelectSingleNode(path).InnerText;            }            catch (Exception e)            {                MessageBox.Show("E_CBase_100: " + e.Message + "\n不能读取数据库配置文件,请检查后再执行程序","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);                Application.Exit();                return null;            }        }



代码二
 

C# code
        private void TMain_Load(object sender, EventArgs e)        {            string flag = CSQL.GetConfValue("CBase.xml","/Config/TMain/DescFlag");            if (flag != string.Empty)            {                this.Text += " ";                this.Text += flag;            }        }



我在VS2008打开TMain设计界面的时候,系统提示我:
 

C# code
E_CBase_100: Could not find file 'C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\CBase.xml'不能读取数据库配置文件, 请检查后再执行程序



问题一: Application.StartupPath怎么会是'C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\CBase.xml'?
问题二: 为什么在设计界面里,它会执行TMain_Load的代码呢?

因为有些对象我在运行中实例化的,在TMain代码里没有实例,所以这个问题让我很困惑.

------解决方法--------------------------------------------------------
你可以在Form1_Load代码里面做个判断

if(!this.DisgnMode)
{
  Init(); //运行时初始化的代码放在Init里面
}

        

热点排行