我有一个链接到窗体的数据库中保存的网址。如何获取网址并打开网页浏览器?采取保存的URL并打开网页浏览器c#
这就是它的存储
m_dtMedia.Rows[m_rowPosition]["File_Path"]
我想要的是当你点击一个按钮,用于web broswer到oepn起来。
我有一个链接到窗体的数据库中保存的网址。如何获取网址并打开网页浏览器?采取保存的URL并打开网页浏览器c#
这就是它的存储
m_dtMedia.Rows[m_rowPosition]["File_Path"]
我想要的是当你点击一个按钮,用于web broswer到oepn起来。
你可以只启动一个新的进程与URL作为目标/文件名:
Process.Start("http://www.google.com");
这将有使用默认浏览器加载url的效果。
感谢您的帮助。我将它与其他答案混合使用,并使用System.Diagnostics.Process.Start(“http://www.website.com”) –
这将阻止您的用户界面,直到浏览器打开。 –
private static void OpenBrowser(string url)
{
if (url != null)
{
Process process = new Process();
process.StartInfo.FileName = "rundll32.exe";
process.StartInfo.Arguments = "url.dll,FileProtocolHandler " + url;
process.StartInfo.UseShellExecute = true;
process.Start();
}
}
由于产卵另一个进程需要一点时间,而这种情况正在发生,您的用户界面将被阻止。我建议从后台线程调用此方法。例如:
Task.Factory.StartNew(()=>{OpenBrowser(url);});
使用此方法,因为从UI线程调用的Process.Start(字符串)导致异常
这是waaaay太多的代码这个问题提出了什么问题。 :)不downvoting,但'System.Diagnostics.Process.Start(“http://www.website.com”)'本身工作正常。 –
以前从未见过任何人使用过url.dll,FileProtocolHandler。有趣的决定。为什么这个方法? –
调用Process.Start从UI线程将阻止您的用户界面使其无响应,直到浏览器打开网站。你不能从UI线程调用Process.Start(string) - 它会导致异常。要从主UI线程以外的线程打开一个进程,你必须经过上面的循环。 –
[从WinForms应用程序启动URL]可能的重复(http://stackoverflow.com/questions/425381/launch-a-url-from-a-winforms-app) –