• 27-03-2013, 18:11:54
    #1
    NOT: C#'ta..

    arkadaşlar bir program yazıyorum yalnız şurada takıldım.

    programın webbrowserini tablı yaptım aşağıdaki şekilde;

    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    WebBrowser web = new WebBrowser();
    int i = 0;

    private void Form1_Load(object sender, EventArgs e)
    {
    web = new WebBrowser();
    web.ScriptErrorsSuppressed = true;
    web.Dock = DockStyle.Fill;
    web.Visible = true;
    web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_Docume ntCompleted);

    tabControl1.TabPages.Add("sayfa");
    tabControl1.SelectTab(i);
    tabControl1.SelectedTab.Controls.Add(web);
    i += 1;

    }

    void web_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
    tabControl1.SelectedTab.Text = ((WebBrowser)tabControl1.SelectedTab.Controls[0]).DocumentTitle;
    }

    private void button2_Click(object sender, EventArgs e)
    {
    web = new WebBrowser();
    web.ScriptErrorsSuppressed = true;
    web.Dock = DockStyle.Fill;
    web.Visible = true;
    web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(web_Docume ntCompleted);

    tabControl1.TabPages.Add("sayfa");
    tabControl1.SelectTab(i);
    tabControl1.SelectedTab.Controls.Add(web);
    i += 1;

    }

    private void button1_Click(object sender, EventArgs e)
    {
    ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(comboBox1.Text);
    if (!comboBox1.Items.Contains(comboBox1.Text))
    {
    comboBox1.Items.Add(comboBox1.Text);
    }
    }

    private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    {
    if (e.KeyCode == Keys.Enter)
    {
    e.SuppressKeyPress = true;
    ((WebBrowser)tabControl1.SelectedTab.Controls[0]).Navigate(comboBox1.Text);
    if (!comboBox1.Items.Contains(comboBox1.Text))
    {
    comboBox1.Items.Add(comboBox1.Text);
    }
    }
    }

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

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

    private void button3_Click(object sender, EventArgs e)
    {
    if (tabControl1.TabPages.Count - 1 > 0)
    {
    tabControl1.TabPages.RemoveAt(tabControl1.Selected Index);
    tabControl1.SelectTab(tabControl1.TabPages.Count - 1);
    i -= 1;

    }

    }


    hal böle olunca webbrowseri ProgressBar a bağlayamadım..
    yardım eden eller dert görmesin...
  • 28-03-2013, 02:41:45
    #2
    selam,

    ne yapmak istediğini anlayamadım progressbar demişsiniz ortada bi şey yok ? yani nerede kullanacaksınız ortak bir progressbar mı olacak ve aktif tabdakine göre mi hareket edecek ?
    bir de projenizi upload ederseniz daha kolay düzenleyebilriz..
  • 28-03-2013, 21:49:52
    #3
    ertan2002 adlı üyeden alıntı: mesajı görüntüle
    selam,

    ne yapmak istediğini anlayamadım progressbar demişsiniz ortada bi şey yok ? yani nerede kullanacaksınız ortak bir progressbar mı olacak ve aktif tabdakine göre mi hareket edecek ?
    bir de projenizi upload ederseniz daha kolay düzenleyebilriz..
    hocam anlatmak istediğim şu. şimdi ben ilk önce webbrowseri direkt form1 e attım. komutlarıda webbrowser1.navigate.gofoward (); ile komutlar atayaibliyordum.

    sonra dedim tablı yapıyım browseri. tablı bir şekilde yapınca ((WebBrowser)tabControl1.SelectedTab.Controls[0]).GoForward();
    webrowser komutlarını bu sekilde atadım. buraya kadar hersey tamam. birde progressbar ekleyim dedim. ama tablı olduğu için atayamadım. sorum şu tablı webbrowsera nasıl progressbar ekleyebilirim?
  • 28-03-2013, 23:41:35
    #4
    kısaca şöyle anlatayım..

    ilk olarak bir webbrowser için events lerinden proggresschanged eventini oluşturun (properties penceresinden yapabilirsiniz)
    sonra diğer webbrowserlar için de ilk oluşturduğunuz webbrowser için oluşturduğunuz event için yapın. yani tüm webbrowsrların progresschanged eventi bir tane olacak .. sonra bir tane progressbar oluşturun, tabstripin en altına ekleyin ... visible ı false olsun ilk durumda. progresschanged in eventi de şöyle olacak

            private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
            {
             WebBrowser wb = (WebBrowser)sender;
    
                try
                {
                    ProgressBar1.Visible = true;
                    ProgressBar1.Maximum = Convert.ToInt32(e.MaximumProgress);
                    ProgressBar1.Value = Convert.ToInt32(e.CurrentProgress);
                }
                catch (Exception)
                {
                    ProgressBar1.Value = 0;
                    ProgressBar1.Visible = false;
                }
            }