【发布时间】:2012-02-24 15:42:18
【问题描述】:
我使用我找到的here 的网站图标代码来检索加载到浏览器元素中的网站的网站图标。
我想将此网站图标用作我的 Windows 窗体的图标。
感谢JP Hellemons此代码有效:
private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
this.Icon = favicon(GetActiveBrowser().Url);
}
private WebBrowser GetActiveBrowser() {
return (WebBrowser)tabs.SelectedTab.Controls[0];
}
private Icon favicon(Uri url) {
WebRequest request = (HttpWebRequest)WebRequest.Create("http://" + url.Host + "/favicon.ico");
Bitmap bm = new Bitmap(32, 32);
MemoryStream memStream;
using (Stream response = request.GetResponse().GetResponseStream()) {
memStream = new MemoryStream();
byte[] buffer = new byte[1024];
int byteCount;
do {
byteCount = response.Read(buffer, 0, buffer.Length);
memStream.Write(buffer, 0, byteCount);
} while (byteCount > 0);
}
bm = new Bitmap(Image.FromStream(memStream));
if (bm != null) {
Icon ic = Icon.FromHandle(bm.GetHicon());
return ic;
} else
return Properties.Resources.GZbrowser;
}
【问题讨论】:
-
关于您的“Visual C#”问题:C# 就是 C#。如果您主要在图形设计模式下使用 Visual Studio IDE,我想您可以说“Visual”,但没有“Visual C#”与“其他类型的 C#”,就像 Basic 一样。
-
@MrLister:好的,谢谢,这是因为我有很多提到 Visual C# 的 tuts
标签: c# image browser icons favicon