您好,登錄后才能下訂單哦!
這篇文章主要介紹“C#多標簽瀏覽器功能的擴展方法是什么”,在日常操作中,相信很多人在C#多標簽瀏覽器功能的擴展方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#多標簽瀏覽器功能的擴展方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
假設NewTab(string url)是前面已經完成的在新標簽中打開鏈接的函數。
C#多標簽瀏覽器實現打開主頁:
這就要訪問注冊表,獲取ie首頁。
string homepage=""; try { homepage =(string)Registry.GetValue( "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Internet Explorer\\Main", "Start Page", ""); } catch (Exception) {} NewTab(homepage);
使用try-catch是為了防止讀取注冊表失敗,拋出異常。
C#多標簽瀏覽器實現“粘貼并打開”:
其實就是要獲取剪貼板中的文本。
NewTab(Clipboard.GetText());
恢復關閉的網頁:
這就需要在前面所說的關閉標簽操作的同時,把即將關閉的標簽的url記錄起來。可以用WebBrowser.Url.AbsoluteUri來獲取這個url。假設這些關閉過的url儲存在一個名為closed的字符串數組中。
然后就是要在用戶點擊撤銷按鈕的時候彈出這個url列表:
ContextMenuStrip menu=new ContextMenuStrip(); for (int i=0; i< closed.Count; i++) menu.Items.Add(closed[i]); menu.ItemClicked+=(o1,e1)=>NewTab(e1.ClickedItem.Text); menu.Show((Control)sender, e.Location);
(o1,e1)=>NewTab(e1.ClickedItem.Text)是lambda表達式,代表一個函數,當menu被點擊的時候,就會調用這個函數。
讀取打開ie收藏
首先獲取ie收藏夾所在路徑:
string path=(string)Registry.GetValue( "HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Favorites", "");
然后獲取路徑所表示的文件夾對象:
DirectoryInfo dir=new DirectoryInfo(path);
用dir.GetDirectories() 和dir.GetFiles()可以獲取該目錄下的所有子目錄和所有文件,然后對子目錄再遞歸進行以上過程直到遍歷所有文件。
ie收藏夾里的網頁快捷方式是以".url"后綴存在的,如何從在獲取網頁的url文本?那就要知道這種文件的格式。我用記事本打開其中一個,看到是這樣的:
[{000214A0-0000-0000-C000-000000000046}] Prop3=19,2 [InternetShortcut] URL=http://go.microsoft.com/fwlink/?linkid=140813 IDList=
所以可見,URL就在[InternetShortcut]的下一行,假設從GetFiles得到一個FileInfo file1,則可用以下代碼得到url:
if (file1.Extension==".url"){ StreamReader sr=new StreamReader(file1.FullName); string url=""; while (!sr.EndOfStream) { string s1=sr.ReadLine(); if (s1=="[InternetShortcut]") url=sr.ReadLine().Substring(4); } }
C#多標簽瀏覽器實現超級拖放
首先要將主窗體的AllowDrop屬性設為true。
然后為主窗體的DragDrop和DragEnter事件添加如下事件處理過程:
private void textBox1_DragDrop(object sender, DragEventArgs e) { NewTab((string)e.Data.GetData(DataFormats.Text)); } private void textBox1_DragEnter(object sender, DragEventArgs e) { e.Effect=e.AllowedEffect; }
這樣的超級拖放有一個特點,就是要將網頁元素拖出WebBrowser的范圍外,同時又還在主窗體的范圍內,此時釋放才有效,至于如何在WebBrowser范圍內拖放就有效,本人還找不到一個很好的方法。
C#多標簽瀏覽器實現自動搜索
傳遞給NewTab(string url)函數的參數url,有時并不一定是合法的url格式,我們不妨假定,如果它的格式不正確,則改為用百度
搜索此文本,于是可以這樣處理:
try { Uri uri=new Uri(url); } catch (Exception) { url="http://www.baidu.com/s?wd="+url; }
到此,關于“C#多標簽瀏覽器功能的擴展方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。