2012-12-14 68 views
-2

我正在使用Visual Studio 2010中的Web瀏覽器,但無法將選項卡的名稱更新爲網站的名稱。例如,當您訪問像CNN.Com這樣的網站時,我希望標籤也可以說「cnn.com」。順便說一下,該項目沒有使用默認的WebBrowser表單。請以最簡單的方式解釋它,因爲我是C#的新手(剛剛從C++和Java移植過來),所以我不熟悉使用Windows窗體。謝謝。任何幫助表示讚賞。在C#Web瀏覽器中更新選項卡的名稱

這裏的問題的圖像:http://postimage.org/image/5ym4yx0pt/

....

public Form1() 
    { 
     InitializeComponent(); 
    } 

    int i = 1; 
    private void Form1_Load(object sender, EventArgs e) 
    { 
     WebBrowser Browse = new WebBrowser(); 
     //Load a tab when loading form 
     tabControl1.TabPages.Add("Tab");//problem 
     tabControl1.SelectTab(i - 1); 
     Browse.Name = "Lithium Browser"; 
     Browse.Dock = DockStyle.Fill; 
     tabControl1.SelectedTab.Controls.Add(Browse); 
     i++; 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("www.google.com"); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(textBox1.Text); 
    } 

    private void toolStripButton1_Click(object sender, EventArgs e) 
    { 
     WebBrowser Browse = new WebBrowser(); 
     tabControl1.TabPages.Add("Tab"); //problem 
     tabControl1.SelectTab(i - 1); 
     Browse.Name = "Lithium Browser"; 
     Browse.Dock = DockStyle.Fill; 
     tabControl1.SelectedTab.Controls.Add(Browse); 
     i++; 
    } 

    private void toolStripButton2_Click(object sender, EventArgs e) 
    { 
     tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex); 
     tabControl1.SelectTab(tabControl1.TabPages.Count - 1); 
     i = i- 1; 

    } 

    private void toolStripButton3_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoBack(); 
    } 

    private void toolStripButton4_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoForward(); 
    } 

    private void toolStripButton5_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoHome(); 
    } 

    private void toolStripButton6_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Refresh(); 
    } 

    private void toolStripButton7_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Stop(); 
    } 

    private void yahooSearchToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     toolStripDropDownButton1.Text = yahooSearchToolStripMenuItem.Text; 
    } 

    private void youtubeSearchToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     toolStripDropDownButton1.Text = youtubeSearchToolStripMenuItem.Text; 
    } 

    private void googleSearchToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     toolStripDropDownButton1.Text = googleSearchToolStripMenuItem.Text; 
    } 

    private void toolStripButton8_Click(object sender, EventArgs e) 
    { 
     if (toolStripDropDownButton1.Text == googleSearchToolStripMenuItem.Text) 
     { 
      ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://www.google.com/search?q=" + toolStripTextBox1.Text); 
     } 

     if (toolStripDropDownButton1.Text == yahooSearchToolStripMenuItem.Text) 
     { 
      ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://search.yahoo.com/search?p=" + toolStripTextBox1.Text); 
     } 

     if (toolStripDropDownButton1.Text == youtubeSearchToolStripMenuItem.Text) 
     { 
      ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://www.youtube.com/results?search_query=" + toolStripTextBox1.Text); 
     } 
    } 

    private void textBox1_TextChanged(object sender, EventArgs e) 
    { 

    } 

    //add KeyUp event for detecting 'Enter' key 
    //navigate to specified URL withoud pressing the 'Go' button 
    private void textBox1_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 
      ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(textBox1.Text); 
     } 

    } 

    private void toolStripTextBox1_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 
      if (toolStripDropDownButton1.Text == googleSearchToolStripMenuItem.Text) 
      { 
       ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://www.google.com/search?q=" + toolStripTextBox1.Text); 
      } 

      if (toolStripDropDownButton1.Text == yahooSearchToolStripMenuItem.Text) 
      { 
       ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://search.yahoo.com/search?p=" + toolStripTextBox1.Text); 
      } 

      if (toolStripDropDownButton1.Text == youtubeSearchToolStripMenuItem.Text) 
      { 
       ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://www.youtube.com/results?search_query=" + toolStripTextBox1.Text); 
      } 

      if (toolStripDropDownButton1.Text == youtubeSearchToolStripMenuItem.Text) 
      { 
       ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://en.wikipedia.org/wiki/" + toolStripTextBox1.Text); 
      } 

      if (toolStripDropDownButton1.Text == youtubeSearchToolStripMenuItem.Text) 
      { 
       ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate("http://en.wikipedia.org/wiki/" + toolStripTextBox1.Text); 
      } 

     } 
    } 

    private void newTabToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     WebBrowser Browse = new WebBrowser(); 
     tabControl1.TabPages.Add("Tab"); 
     tabControl1.SelectTab(i - 1); 
     Browse.Name = "Lithium Browser"; 
     Browse.Dock = DockStyle.Fill; 
     tabControl1.SelectedTab.Controls.Add(Browse); 
     i++; 
    } 

    private void closeTabToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     tabControl1.TabPages.RemoveAt(tabControl1.SelectedIndex); 
     tabControl1.SelectTab(tabControl1.TabPages.Count - 1); 
     i = i - 1; 
    } 

    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
    { 

    } 

    private void printToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     PrintDialog printDialog = new PrintDialog(); 
     printDialog.ShowDialog(); 
    } 

    private void printPreviewDialog1_Load(object sender, EventArgs e) 
    { 

    } 

    private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     //Associate PrintPreviewDialog with PrintDocument. 
     printPreviewDialog1.Document = printDocument1; 

     // Show PrintPreview Dialog 
     printPreviewDialog1.ShowDialog(); 
    } 

    private void exitToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     if (MessageBox.Show("Exit?", "Exit", MessageBoxButtons.OKCancel) == DialogResult.OK) 
     { 

      Application.Exit(); 

     } 
    } 

    // Bring up 'Print Dialog' 
    private void pageSetupToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     PageSetupDialog pageSetup = new PageSetupDialog(); 
     pageSetup.PrinterSettings = new System.Drawing.Printing.PrinterSettings(); 
     pageSetup.PageSettings = new System.Drawing.Printing.PageSettings(); 
     pageSetup.EnableMetric = false; 
     pageSetup.ShowDialog(); 
    } 

    private void stopToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Stop(); 
    } 

    private void refreshToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Refresh(); 
    } 

    private void homeToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoHome(); 
    } 

    private void previousPageToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoBack(); 
    } 

    private void nextPageToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoForward(); 
    } 

    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

    } 



    private void aboutToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     Form2 about = new Form2(); 
     about.Show(); 
    } 



    private void calenderToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     calenForm cal = new calenForm(); 
     cal.Show(); 
    } 
} 

}

...........

+0

是什麼類型的項目? –

+1

你喜歡展示的任何代碼? – ethorn10

+0

對不起。在我寫完這個問題之前,我意外地發表了這個問題。 – pcnThird

回答

2

假設網頁瀏覽器是內置的網頁瀏覽器,就可以觸發OnDocumentTitleChanged事件每次更改webbrowser文檔標題時更改標籤文本。

要做到這一點,在表單加載事件,聲明瀏覽後,開始鍵入browse.DocumentTitleChanged + =和工具提示應該出現說'選項卡插入此代碼'或沿着這些行。只需選中兩次,Visual Studio就會爲您插入一個新方法,並帶有「丟棄新的未示例的異常」;線。刪除該行並將其替換爲將標籤文本更改爲瀏覽器文檔標題的代碼。

如果您需要了解更多信息,我建議你在這裏洗手間:http://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.aspx

雖然我確信,使用事件是最好的解決方案。事件旨在執行某些重要的程序「事件」,改變網頁就是其中之一,事件似乎是合適的解決方案。 (事件本質上是C#的C++的函數指針,如果有幫助的話)。

相關問題