Show Webbrowser Control Upload Percentage c# - c#

I have a Windows Form application in c#.
in my application i have a WebBrowser Control. in my program web browser will upload a file i want to show in my program what percentage of file is uploaded. how can i do this ?

look at web browser ProgressChanged. This event has an argument as WebBrowserProgressChangedEventArgs which holds CurrentProgress property which you can use to show with the progress bar.
WebBrowser1.ProgressChanged += WebBrowser1_ProgressChanged;
private void WebBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e) {
ProgressBar1.Value = e.CurrentProgress;
}

Related

Opening Web Browser click in default browser

Currently I am building a windows form app using c#. I have a web browser control on my form that displays a google ad. When clicked the webpage is displayed within the little 300x300 web browser control on the form. Is there a way for me to launch the default browser when the ad is clicked instead?
Thanks.
Edit: I figured out I can do so open the default browser by using Process.Start("url here"); but the browser windows is opening upon app load.
Edit Adding Code:
Form.cs
private void AdPanelNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
e.Cancel = true;
if (e.Url != null ) Process.Start(e.Url.ToString());
}
Form.Designer.cs
this.AdPanel.Navigating += new WebBrowserNavigatingEventHandler(AdPanelNavigating);
You can add Navigating event handler:
webBrowser1.Navigating += new WebBrowserNavigatingEventHandler(WebBrowser_Navigating);
void WebBrowser_Navigating(object sender, WebBrowserNavigatingEventArgs e) {
e.Cancel = true;
Process.Start(e.Url);
}
It will open default browser instead of opening this url inside webbrowser.

Change value control in asp.net basend on custom event triger

Hi i want to update value in textbox when event trigger..i know how to do it in winform..but i cant do it in webform..
protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack)
return;
else
myClass.MyEvent += new MyClass.MyEventDelegate(Default_MyEvent);
}
private void Default_MyEvent(string value)
{
txtBox.Text = value;
}
above code doesn't change text value of my textbox in asp.net but it works in winform. How to do it in webform?
*Edit
I try to create file transfer application via socket on web. I already done this in desktop application.
Basically when client open web page then client will connected to server on spesific port. and every data transmitted to client from server, then in then web form there will be an changing in text of the textbox.

Unable to use WebBrowser Control inside a form that is Loaded from background Worker?

I have a windows form application with Two forms, Login and Account
In the Login form, i have backgroundWorker1
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// doing some heavy work ...
Account acc = new Account(entered_username, entered_password, true);
acc.ShowDialog();
acc.Dispose();
}
//....
And Button1
//...
private void Button1_Click(object sender, System.EventArgs e)
{
showOrHideLoading();
backgroundWorker1.RunWorkerAsync();
}
//...
When i click on button1, the Account form appears correctly but after adding a WebBrowser
Control to the Account form, the application doesn't work as expected, and when i click on Button1, nothing happens!
Is there any limitation of using WebBrowser Control with BackgroundWorker ?
I need to display a link (to facebook like button) using WebBrowser, is there an alternative way to display html content inside Windows Forms Application without using WebBrowser control.
Unless you have a good reason, try to always keep UI on the same thread.
Put your "heavy work" in the background thread and display a progress dialog or whatever.
Once that completes, THEN launch the web browser form.

How can I use backgroundworker in my browser?

I'm trying to create my own web browser for my practice on windows application. So I've make a windows form for web browser. Now I want to use backgroundworker or progressbar to show real process of page loading but I don't know how to do it. I tried with Google but no result for me. So please help me if my question is right to ask about it.
// add progress bar
private ProgressBar progressBar1;
//create event for ProgressChanged
Browser.ProgressChanged += Browser_ProgressChanged;
...
// set progress bar value when ProgressChanged event firing
void Browser_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e) {
if (e.MaximumProgress > 0) {
int prog = (int)(100 * e.CurrentProgress / e.MaximumProgress);
progressBar1.Value = prog;
}
}
C# Winforms: Using a progress bar with Web Browser Control
Here are some links:
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx
http://www.dotnetperls.com/backgroundworker
http://www.codeproject.com/KB/cs/bgworkercomponent.aspx

In Desktop application how to create popup progress bar

I work on C# .I want to create a Desktop(not web) application in c#.There i need to popup window like as web.When popup window appear user can not access any control like web loading panel property MODEL=true.My application work flow is:
Popup appear
Event Start
Event Complete
Popup close
Then Perform rest of the application
private void timer1_Tick(object sender, EventArgs e)
{
if (progressBar1.Value >= 200)
{
progressBar1.Value = 0;
GetAllData();//When this Method active .Progress bar show it's //progressing.After complete the work progressbar will hide.How can i measure how much //time does the computer needs to complete this method work.
timer1.Stop();
}
progressBar1.Value += 20;
}
Assuming your popup is a form you can use ShowDialog instead of Show to make the form modal.
I think you are talkin about modal dialog boxes. If you using WPF, read this:
http://msdn.microsoft.com/en-us/library/aa969773.aspx

Categories

Resources