webBrowser控件url属性设置成相对路径的问题

petererr 2008-07-06 06:22:10
webBrowser控件url的初始属性
设置成绝对路径绝对没问题,startpage.html在工程根目录下,即绝对路径为D:\\Documents and Settings\\Hayden\\My Documents\\Visual Studio 2005\\Projects\\SE2\\SE2\\startpage.html

怎么设置成相对路径??
试验了很多,比如.\\startpage.html ./startpage.html .\\startpage.html等等, 都行不通

我知道可以通过获取当前路径的方法间接达到目的

但是既然有url的赋值有System::UriKind::Relative这个参数,那肯定是可以直接指定相对路径呢

应该如何写呢

先谢谢了
...全文
1245 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl35377345 2011-05-12
  • 打赏
  • 举报
回复
hello
royal1 2008-07-06
  • 打赏
  • 举报
回复
string m_strFullPath = "";
Assembly Asm = Assembly.GetExecutingAssembly();
m_strFullPath = Asm.Location.Substring(0, (Asm.Location.LastIndexOf('\\'))) + @"\Help\page.htm";
webBrowser1.Navigate(m_strFullPath);

上述路径指向的是你项目下Help文件夹中的page.htm
Jeffrey84 2008-07-06
  • 打赏
  • 举报
回复
或者你程序先获得本身所在的目录path
然后url设置成
path + "/startpage.html"
效果跟相对路径是一样的
Jeffrey84 2008-07-06
  • 打赏
  • 举报
回复
哦,看错了,webBrowser控件不好设置相对路径吧,就好像浏览器你输入相对路径也不知道上哪找
Jeffrey84 2008-07-06
  • 打赏
  • 举报
回复
试试
~/startpage.html
petererr 2008-07-06
  • 打赏
  • 举报
回复
我知道如何用获取当前路径,再path +的方法来处理

但是为什么form[design]里webBrowser的属性url项,当你设置比如.\\startpage.html,参数也自动变为System::UriKind::Relative,好似可以直接设置相对路径,但是随后运行的时候却说ERROR nevigate to the ralative url

刚刚还发现一个小问题

this->webBrowser1->Navigate("....")语句,为什么控件不能及时的响应成你新制定的Navigate到的网页?
但是如果你在中间加一句比如,MessageBox.Show之类的,才有效果,我不知道我描述清楚了没有

就比如你写
this->webBrowser1->Navigate("...1.html")
...
CreateProcess....
...
this->webBrowser1->Navigate("...2.html")
那么控件跟本没有先导航到1.html,在导航到2.html的效果,而是在运行的最后直接导航到2.html

如果你加一句
this->webBrowser1->Navigate("...1.html")
MessageBox.Show...
...
CreateProcess....
...
this->webBrowser1->Navigate("...2.html")
这样才有效果,这是为什么?

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧