专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > DotNet Exception

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

发布时间:2011-06-26 20:28:23 文章来源:www.iduyao.cn 采编人员:星星草

代码一
 

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里面
}

    
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: