Answered by:
progress bar

Question
-
i have made a web browser and i wont to ad a progress bar to it to show the progress tho loading a web page can any one help
thanksThursday, February 12, 2009 6:53 PM
Answers
-
Do you know how to use a progressbar? It needs a maximum value, and a current value.
The WebBrowser control has an event, ProgressChanged. It uses a custom EventArgs class, WebBrowserProgressChangedEventArgs. (Clever name, huh.) That class has two properties.
public long CurrentProgress { get; } Member of System.Windows.Forms.WebBrowserProgressChangedEventArgs Summary: Gets the number of bytes that have been downloaded. Returns: The number of bytes that have been loaded.
..and...
public long MaximumProgress { get; } Member of System.Windows.Forms.WebBrowserProgressChangedEventArgs Summary: Gets the total number of bytes in the document being loaded. Returns: The total number of bytes to be loaded.
Mark the best replies as answers. "Fooling computers since 1971."- Marked as answer by Bruce.Zhou Tuesday, February 17, 2009 7:55 AM
- Unmarked as answer by sameden2 Friday, February 20, 2009 10:48 AM
- Marked as answer by sameden2 Friday, February 20, 2009 10:49 AM
Thursday, February 12, 2009 7:22 PM
All replies
-
Do you know how to use a progressbar? It needs a maximum value, and a current value.
The WebBrowser control has an event, ProgressChanged. It uses a custom EventArgs class, WebBrowserProgressChangedEventArgs. (Clever name, huh.) That class has two properties.
public long CurrentProgress { get; } Member of System.Windows.Forms.WebBrowserProgressChangedEventArgs Summary: Gets the number of bytes that have been downloaded. Returns: The number of bytes that have been loaded.
..and...
public long MaximumProgress { get; } Member of System.Windows.Forms.WebBrowserProgressChangedEventArgs Summary: Gets the total number of bytes in the document being loaded. Returns: The total number of bytes to be loaded.
Mark the best replies as answers. "Fooling computers since 1971."- Marked as answer by Bruce.Zhou Tuesday, February 17, 2009 7:55 AM
- Unmarked as answer by sameden2 Friday, February 20, 2009 10:48 AM
- Marked as answer by sameden2 Friday, February 20, 2009 10:49 AM
Thursday, February 12, 2009 7:22 PM -
so how do i get it to worksorrysam eden
programing at 14 years old lol and i cant spell ;-)Tuesday, August 18, 2009 12:47 PM -
Post code of what you have so far.
We don't even know which language you are using.
http://msdn.microsoft.com/en-us/library/w290k23d.aspx
Mark the best replies as answers. "Fooling computers since 1971."Tuesday, August 18, 2009 1:19 PM -
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace WebBrowserDemo
{
class ProgressBrowser : Form
{
#region form.designer.cs file
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.btn_Go = new System.Windows.Forms.Button();
this.btn_Refresh = new System.Windows.Forms.Button();
this.webBrowser1 = new System.Windows.Forms.WebBrowser();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.txt_StatusBox = new System.Windows.Forms.TextBox();
this.lbl_StatusTxt = new System.Windows.Forms.Label();
this.cbo_AddressBar = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// btn_Go
//
this.btn_Go.Location = new System.Drawing.Point(466, 11);
this.btn_Go.Name = "btn_Go";
this.btn_Go.Size = new System.Drawing.Size(75, 23);
this.btn_Go.TabIndex = 1;
this.btn_Go.Text = "GO";
this.btn_Go.UseVisualStyleBackColor = true;
this.btn_Go.Click += new System.EventHandler(this.btn_Go_Click);
//
// btn_Refresh
//
this.btn_Refresh.Location = new System.Drawing.Point(548, 10);
this.btn_Refresh.Name = "btn_Refresh";
this.btn_Refresh.Size = new System.Drawing.Size(75, 23);
this.btn_Refresh.TabIndex = 2;
this.btn_Refresh.Text = "Refresh";
this.btn_Refresh.UseVisualStyleBackColor = true;
this.btn_Refresh.Click += new System.EventHandler(this.btn_Refresh_Click);
//
// webBrowser1
//
this.webBrowser1.Location = new System.Drawing.Point(12, 40);
this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.Size = new System.Drawing.Size(611, 476);
this.webBrowser1.TabIndex = 3;
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(119, 523);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(371, 23);
this.progressBar1.TabIndex = 4;
//
// txt_StatusBox
//
this.txt_StatusBox.Location = new System.Drawing.Point(13, 523);
this.txt_StatusBox.Name = "txt_StatusBox";
this.txt_StatusBox.Size = new System.Drawing.Size(100, 20);
this.txt_StatusBox.TabIndex = 5;
//
// lbl_StatusTxt
//
this.lbl_StatusTxt.AutoSize = true;
this.lbl_StatusTxt.Location = new System.Drawing.Point(13, 550);
this.lbl_StatusTxt.Name = "lbl_StatusTxt";
this.lbl_StatusTxt.Size = new System.Drawing.Size(68, 13);
this.lbl_StatusTxt.TabIndex = 6;
this.lbl_StatusTxt.Text = "lbl_StatusTxt";
//
// cbo_AddressBar
//
this.cbo_AddressBar.FormattingEnabled = true;
this.cbo_AddressBar.Location = new System.Drawing.Point(12, 13);
this.cbo_AddressBar.Name = "cbo_AddressBar";
this.cbo_AddressBar.Size = new System.Drawing.Size(448, 21);
this.cbo_AddressBar.TabIndex = 7;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(497, 532);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(35, 13);
this.label2.TabIndex = 8;
this.label2.Text = "totalProgress";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(497, 554);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(35, 13);
this.label1.TabIndex = 9;
this.label1.Text = "currentProgress";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(633, 576);
this.Controls.Add(this.label1);
this.Controls.Add(this.label2);
this.Controls.Add(this.cbo_AddressBar);
this.Controls.Add(this.lbl_StatusTxt);
this.Controls.Add(this.txt_StatusBox);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.webBrowser1);
this.Controls.Add(this.btn_Refresh);
this.Controls.Add(this.btn_Go);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();}
#endregion
private System.Windows.Forms.Button btn_Go;
private System.Windows.Forms.Button btn_Refresh;
private System.Windows.Forms.WebBrowser webBrowser1;
private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.TextBox txt_StatusBox;
private System.Windows.Forms.Label lbl_StatusTxt;
private System.Windows.Forms.ComboBox cbo_AddressBar;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
#endregion#region form.cs file
public ProgressBrowser()
{
InitializeComponent();
Initialize_this();
this.Load += new EventHandler(Form1_Load);
}#region Initialize Methods
private void Initialize_this() // Template Method Pattern
{
this.Initialize_WebBrowser();
this.Initialize_ProgressBar();
this.Initialize_AddressBar();
return;
}private void Initialize_WebBrowser()
{
this.webBrowser1.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
this.webBrowser1.ProgressChanged +=
new WebBrowserProgressChangedEventHandler(webBrowser1_ProgressChanged);
this.webBrowser1.Navigated +=
new WebBrowserNavigatedEventHandler(webBrowser1_Navigated);
this.webBrowser1.Navigating +=
new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
this.webBrowser1.StatusTextChanged += new EventHandler(webBrowser1_StatusTextChanged);
return;
}private void Initialize_ProgressBar()
{
this.progressBar1.Style = ProgressBarStyle.Continuous;
this.progressBar1.Step = 10;
return;
}private void Initialize_AddressBar()
{
this.cbo_AddressBar.SelectedIndexChanged +=
new EventHandler(cbo_AddressBar_SelectedIndexChanged);
}#endregion
#region Private Methods
private void Navigate(Uri uri)
{
this.webBrowser1.Url = uri;
URL_Add(uri);
this.cbo_AddressBar.Text = uri.ToString();
this.progressBar1.PerformStep();
}private void URL_Add(Uri uri)
{if (!this.cbo_AddressBar.Items.Contains(uri))
{
this.cbo_AddressBar.Items.Add(uri);
}
}
#endregion#region Event Handlers
void Form1_Load(
object sender,
EventArgs e)
{
this.Navigate(new Uri(HomePage));
return;
}private void btn_Go_Click(
object sender,
EventArgs e)
{
this.Navigate(new Uri(this.cbo_AddressBar.Text));
}private void btn_Refresh_Click(
object sender,
EventArgs e)
{
this.Navigate(new Uri(this.cbo_AddressBar.Text));
}private void webBrowser1_DocumentCompleted(
object sender,
WebBrowserDocumentCompletedEventArgs e)
{
switch (this.webBrowser1.ReadyState)
{
case WebBrowserReadyState.Complete:
//this.progressBar1.Value = this.progressBar1.Maximum;
this.progressBar1.Visible = false;
this.label1.Text = "totalProgress";
this.label2.Text = "currentProgress";
break;
case WebBrowserReadyState.Interactive:
//this.progressBar1.PerformStep();
break;
case WebBrowserReadyState.Loaded:
//this.progressBar1.PerformStep();
break;
case WebBrowserReadyState.Loading:
//this.progressBar1.PerformStep();
break;
case WebBrowserReadyState.Uninitialized:
//this.progressBar1.Value = this.progressBar1.Minimum;
this.progressBar1.Visible = false;
break;
default:
break;
}
return;
}
private void webBrowser1_ProgressChanged(
object sender,
WebBrowserProgressChangedEventArgs e)
{
long progress = e.CurrentProgress;
//
if (e.CurrentProgress > 0)
{
this.currentProgress = (int)progress;
this.label2.Text = e.CurrentProgress.ToString();
this.label1.Text = e.MaximumProgress.ToString();
}
this.txt_StatusBox.Text = this.webBrowser1.ReadyState.ToString();
if (this.webBrowser1.IsBusy)
{
try
{
this.progressBar1.Maximum = (int)e.MaximumProgress;
}
catch (Exception ex)
{
string msg = ex.Message;
this.progressBar1.Maximum = Int32.MaxValue;
}
if (e.CurrentProgress <= e.MaximumProgress)
{
this.progressBar1.Value = (int)progress;
}
}
else
{
this.progressBar1.Value = this.progressBar1.Minimum;
}
return;
}void webBrowser1_Navigated(
object sender,
WebBrowserNavigatedEventArgs e)
{
this.cbo_AddressBar.Text = this.webBrowser1.Url.ToString();
this.URL_Add(this.webBrowser1.Url);
return;
}
void webBrowser1_Navigating(
object sender,
WebBrowserNavigatingEventArgs e)
{
this.progressBar1.Visible = true;
return;
}private void webBrowser1_StatusTextChanged(
object sender,
EventArgs e)
{
this.lbl_StatusTxt.Text = this.webBrowser1.StatusText;
return;
}private void cbo_AddressBar_SelectedIndexChanged(
object sender,
EventArgs e)
{
Uri selectedURL = (Uri)this.cbo_AddressBar.SelectedItem;
this.Navigate(selectedURL);
return;
}
#endregionprivate string HomePage = @"http://www.google.com/";
private int currentProgress = 1;
#endregion
}
}
Mark the best replies as answers. "Fooling computers since 1971."Tuesday, August 18, 2009 5:08 PM -
Imports System.ComponentModel
Friend Class ProgressBrowser
Inherits Form
' Methods
Public Sub New()
Me.InitializeComponent()
Me.Initialize_this()
AddHandler MyBase.Load, New EventHandler(AddressOf Me.Form1_Load)
End SubPrivate Sub btn_Go_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.Navigate(New Uri(Me.cbo_AddressBar.Text))
End SubPrivate Sub btn_Refresh_Click(ByVal sender As Object, ByVal e As EventArgs)
Me.Navigate(New Uri(Me.cbo_AddressBar.Text))
End SubPrivate Sub cbo_AddressBar_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim selectedURL As Uri = DirectCast(Me.cbo_AddressBar.SelectedItem, Uri)
Me.Navigate(selectedURL)
End SubProtected Overrides Sub Dispose(ByVal disposing As Boolean)
If (disposing AndAlso (Not Me.components Is Nothing)) Then
Me.components.Dispose()
End If
MyBase.Dispose(disposing)
End SubPrivate Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
Me.Navigate(New Uri(Me.HomePage))
End SubPrivate Sub Initialize_AddressBar()
AddHandler Me.cbo_AddressBar.SelectedIndexChanged, New EventHandler(AddressOf Me.cbo_AddressBar_SelectedIndexChanged)
End SubPrivate Sub Initialize_ProgressBar()
Me.progressBar1.Style = ProgressBarStyle.Continuous
Me.progressBar1.Step = 10
End SubPrivate Sub Initialize_this()
Me.Initialize_WebBrowser()
Me.Initialize_ProgressBar()
Me.Initialize_AddressBar()
End SubPrivate Sub Initialize_WebBrowser()
AddHandler Me.webBrowser1.DocumentCompleted, New WebBrowserDocumentCompletedEventHandler(AddressOf Me.webBrowser1_DocumentCompleted)
AddHandler Me.webBrowser1.ProgressChanged, New WebBrowserProgressChangedEventHandler(AddressOf Me.webBrowser1_ProgressChanged)
AddHandler Me.webBrowser1.Navigated, New WebBrowserNavigatedEventHandler(AddressOf Me.webBrowser1_Navigated)
AddHandler Me.webBrowser1.Navigating, New WebBrowserNavigatingEventHandler(AddressOf Me.webBrowser1_Navigating)
AddHandler Me.webBrowser1.StatusTextChanged, New EventHandler(AddressOf Me.webBrowser1_StatusTextChanged)
End SubPrivate Sub InitializeComponent()
Me.btn_Go = New Button
Me.btn_Refresh = New Button
Me.webBrowser1 = New WebBrowser
Me.progressBar1 = New ProgressBar
Me.txt_StatusBox = New TextBox
Me.lbl_StatusTxt = New Label
Me.cbo_AddressBar = New ComboBox
Me.label2 = New Label
Me.label1 = New Label
MyBase.SuspendLayout()
Me.btn_Go.Location = New Point(&H1D2, 11)
Me.btn_Go.Name = "btn_Go"
Me.btn_Go.Size = New Size(&H4B, &H17)
Me.btn_Go.TabIndex = 1
Me.btn_Go.Text = "GO"
Me.btn_Go.UseVisualStyleBackColor = True
AddHandler Me.btn_Go.Click, New EventHandler(AddressOf Me.btn_Go_Click)
Me.btn_Refresh.Location = New Point(&H224, 10)
Me.btn_Refresh.Name = "btn_Refresh"
Me.btn_Refresh.Size = New Size(&H4B, &H17)
Me.btn_Refresh.TabIndex = 2
Me.btn_Refresh.Text = "Refresh"
Me.btn_Refresh.UseVisualStyleBackColor = True
AddHandler Me.btn_Refresh.Click, New EventHandler(AddressOf Me.btn_Refresh_Click)
Me.webBrowser1.Location = New Point(12, 40)
Me.webBrowser1.MinimumSize = New Size(20, 20)
Me.webBrowser1.Name = "webBrowser1"
Me.webBrowser1.Size = New Size(&H263, &H1DC)
Me.webBrowser1.TabIndex = 3
Me.progressBar1.Location = New Point(&H77, &H20B)
Me.progressBar1.Name = "progressBar1"
Me.progressBar1.Size = New Size(&H173, &H17)
Me.progressBar1.TabIndex = 4
Me.txt_StatusBox.Location = New Point(13, &H20B)
Me.txt_StatusBox.Name = "txt_StatusBox"
Me.txt_StatusBox.Size = New Size(100, 20)
Me.txt_StatusBox.TabIndex = 5
Me.lbl_StatusTxt.AutoSize = True
Me.lbl_StatusTxt.Location = New Point(13, 550)
Me.lbl_StatusTxt.Name = "lbl_StatusTxt"
Me.lbl_StatusTxt.Size = New Size(&H44, 13)
Me.lbl_StatusTxt.TabIndex = 6
Me.lbl_StatusTxt.Text = "lbl_StatusTxt"
Me.cbo_AddressBar.FormattingEnabled = True
Me.cbo_AddressBar.Location = New Point(12, 13)
Me.cbo_AddressBar.Name = "cbo_AddressBar"
Me.cbo_AddressBar.Size = New Size(&H1C0, &H15)
Me.cbo_AddressBar.TabIndex = 7
Me.label2.AutoSize = True
Me.label2.Location = New Point(&H1F1, &H214)
Me.label2.Name = "label2"
Me.label2.Size = New Size(&H23, 13)
Me.label2.TabIndex = 8
Me.label2.Text = "totalProgress"
Me.label1.AutoSize = True
Me.label1.Location = New Point(&H1F1, &H22A)
Me.label1.Name = "label1"
Me.label1.Size = New Size(&H23, 13)
Me.label1.TabIndex = 9
Me.label1.Text = "currentProgress"
MyBase.AutoScaleDimensions = New SizeF(6.0!, 13.0!)
MyBase.AutoScaleMode = AutoScaleMode.Font
MyBase.ClientSize = New Size(&H279, &H240)
MyBase.Controls.Add(Me.label1)
MyBase.Controls.Add(Me.label2)
MyBase.Controls.Add(Me.cbo_AddressBar)
MyBase.Controls.Add(Me.lbl_StatusTxt)
MyBase.Controls.Add(Me.txt_StatusBox)
MyBase.Controls.Add(Me.progressBar1)
MyBase.Controls.Add(Me.webBrowser1)
MyBase.Controls.Add(Me.btn_Refresh)
MyBase.Controls.Add(Me.btn_Go)
MyBase.Name = "Form1"
Me.Text = "Form1"
MyBase.ResumeLayout(False)
MyBase.PerformLayout()
End SubPrivate Sub Navigate(ByVal uri As Uri)
Me.webBrowser1.Url = uri
Me.URL_Add(uri)
Me.cbo_AddressBar.Text = uri.ToString
Me.progressBar1.PerformStep()
End SubPrivate Sub URL_Add(ByVal uri As Uri)
If Not Me.cbo_AddressBar.Items.Contains(uri) Then
Me.cbo_AddressBar.Items.Add(uri)
End If
End SubPrivate Sub webBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
Select Case Me.webBrowser1.ReadyState
Case WebBrowserReadyState.Uninitialized
Me.progressBar1.Visible = False
Exit Select
Case WebBrowserReadyState.Complete
Me.progressBar1.Visible = False
Me.label1.Text = "totalProgress"
Me.label2.Text = "currentProgress"
Exit Select
End Select
End SubPrivate Sub webBrowser1_Navigated(ByVal sender As Object, ByVal e As WebBrowserNavigatedEventArgs)
Me.cbo_AddressBar.Text = Me.webBrowser1.Url.ToString
Me.URL_Add(Me.webBrowser1.Url)
End SubPrivate Sub webBrowser1_Navigating(ByVal sender As Object, ByVal e As WebBrowserNavigatingEventArgs)
Me.progressBar1.Visible = True
End SubPrivate Sub webBrowser1_ProgressChanged(ByVal sender As Object, ByVal e As WebBrowserProgressChangedEventArgs)
Dim progress As Long = e.CurrentProgress
If (e.CurrentProgress > 0) Then
Me.currentProgress = CInt(progress)
Me.label2.Text = e.CurrentProgress.ToString
Me.label1.Text = e.MaximumProgress.ToString
End If
Me.txt_StatusBox.Text = Me.webBrowser1.ReadyState.ToString
If Me.webBrowser1.IsBusy Then
Try
Me.progressBar1.Maximum = CInt(e.MaximumProgress)
Catch ex As Exception
Dim msg As String = ex.Message
Me.progressBar1.Maximum = &H7FFFFFFF
End Try
If (e.CurrentProgress <= e.MaximumProgress) Then
Me.progressBar1.Value = CInt(progress)
End If
Else
Me.progressBar1.Value = Me.progressBar1.Minimum
End If
End SubPrivate Sub webBrowser1_StatusTextChanged(ByVal sender As Object, ByVal e As EventArgs)
Me.lbl_StatusTxt.Text = Me.webBrowser1.StatusText
End Sub
' Fields
Private btn_Go As Button
Private btn_Refresh As Button
Private cbo_AddressBar As ComboBox
Private components As IContainer = Nothing
Private currentProgress As Integer = 1
Private HomePage As String = "http://www.microsoft.com/"
Private label1 As Label
Private label2 As Label
Private lbl_StatusTxt As Label
Private progressBar1 As ProgressBar
Private txt_StatusBox As TextBox
Private webBrowser1 As WebBrowser
End ClassTuesday, August 18, 2009 5:38 PM -
im using c#
i have a text box "textbox1" for the adress
i have a web browser "wb1"
i have a button "button1"
and a progressbar "pb1"
sorry i cant get u the code i cant rember my password for my server (ubuntu server 9.04 on a very old pc lol) and all my stuff is save on it)
sam eden
programing at 14 years old lol and i cant spell ;-)Sunday, August 30, 2009 6:37 PM