当前位置: 代码迷 >> Windows Mobile >> 求教c# window mobile 6 获取本map片
  详细解决方案

求教c# window mobile 6 获取本map片

热度:9026   发布时间:2013-02-26 00:00:00.0
求教c# window mobile 6 获取本地图片
本帖最后由 leeyear074173410 于 2011-04-22 17:56:42 编辑 namespace gao1
{
    public partial class SimpleGraphic : Form
    {
        public SimpleGraphic()
        {
            InitializeComponent();
        }

        private void SimpleGraphic_Load(object sender, EventArgs e)
        {
            // Show full screen
            this.ControlBox = false;

            // Load graphic into PictureBox
            string path = GetApplicationDirectory();
            Image img = new Bitmap(Path.Combine(path, "graphic.jpg"))
            pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
            pictureBox1.Image = img;
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {

        }
        private string GetApplicationDirectory()
        {
            return System.IO.Path.GetDirectoryName(
                System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
        }
    }
}
该程序运行时,总是出现错误,无法显示图片。
出现错误:
未处理的“System.IO.FileNotFoundException”类型的异常出现在 mscorlib.dll 中。
其他信息: An error message cannot be displayed because an optional resource assembly containing it cannot be found
显示path路径是:path "\\Program Files\\gao1"
但是我程序的路径是
D:\我的文档\Visual Studio 2005\Projects\gao1
图片路径D:\我的文档\Visual Studio 2005\Projects\gao1\gao1
请大家帮帮忙,看一下,这个问题纠结了很久了
我目前自己猜测可能是path获取的是模拟器的路径即\\Program Files\\gao1。所以无法获取我本地硬盘的图片,如果是这个原因,应该怎样配置一下,才能连接到本地硬盘,获取图片。
------解决方案--------------------------------------------------------
WM下面要用绝对路径。
------解决方案--------------------------------------------------------
WM是CE的内核,CE下也要求必须使用绝对路径,因它CE系统中没有当前目录的概念。
不像PC上的XP等,可以直接从程序运行目录中读取文件。

使用:
Image img = new Bitmap(Path.Combine(path, "\\graphic.jpg"))
或图片所在的全路径。
------解决方案--------------------------------------------------------
不管是绝对路径,还是图片全路径,错误都还是一样的。
自动窗口显示
名称    值
img    null
path   “\Program File\\gao1”这里的意思是说用GetApplicationDirectory()
获得的文件路径是这个。
我用return System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
获得的路径也依旧是\Program File\\gao1,但是我的程序不再该路径下,
  相关解决方案