求教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,但是我的程序不再该路径下,
[解决办法]
模块:
mscorlib.dllmscorlib.dllN/AN/A无法查找或打开 PDB 文件。12007-2-14 14:054DA00000-4DADF018[76d98912] gao1.exe: 托管System.Windows.Forms.dllSystem.Windows.Forms.dllN/AN/A无法查找或打开 PDB 文件。32007-2-14 14:064DE00000-4DE3B630[76d98912] gao1.exe: 托管
System.dllSystem.dllN/AN/A无法查找或打开 PDB 文件。42.0.50727.42 (RTM.050727-4200)2007-2-14 14:054E000000-4E071C10[76d98912] gao1.exe: 托管
System.Drawing.dllSystem.Drawing.dllN/AN/A无法查找或打开 PDB 文件。52007-2-14 14:064E100000-4E10EE20[76d98912] gao1.exe: 托管
[解决办法]
该回复于2011-04-26 09:32:11被版主删除
[解决办法]
模拟器上根本不可能读取PC上的文件,首先应该把要用到的图片放到设备上,然后用设备上的路径去load image。
你的工程是在啥D:\我的文档\Visual Studio 2005\Projects\gao1\gao1下面,但是调试的时候,exe被部署到设备上的某个文件夹下了,例如\Program File\\gao1,你可以用模拟器上的资源管理器找到这个目录,在这下面放图片就可以了
[解决办法]
LZ应将PC的文件映射到模拟器上面去
[解决办法]
能更具体点吗?我正在愁这一块!