|
hello,
i just want to know how can i create a Progressbar that represent the progress of a specific Form.
i mean, i have a Form with a lot of steps..that caculate a lot of things.
while wating that this progress will finish, i want to see the progress in the progressBar..
How can i do it?
thank you
|
|
|
|
|
Add the progress bar component to the form that you want to show it on. Set the maximum value to the number of steps you need to perform, and increment the value by 1 after each step completes.
|
|
|
|
|
DO you have any link that shows to me how to do it?
thank you
|
|
|
|
|
Admin887 wrote: DO you have any link that shows to me how to do it?
Really. Do I need to put a link on here for you? Why don't you try it out for yourself, as this is the best way to learn?
|
|
|
|
|
Thank you..it was very helpful..
|
|
|
|
|
|
Put a ProgressBar on the form and modify the Value property according to the progress that it is being made. You'll have to calculate that as a percentage yourself. (assuming that you show it like x %)
|
|
|
|
|
FYI you can set the maximum value so you don't need to calculate percentages.
If you have 5 steps, set the Maximum to 5 and increment the value by 1.
|
|
|
|
|
You can calculate a percentage for textual output in addition to a progress bar (I think that's what blackjack meant) by dividing two doubles... of course you should know how to compute a percentage.
Then you can use string functions to round that to a certain number of decimal points, but alas, I don't know the exact syntax.
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
thanks for your reply, but I fail to see that it could be useful for me
|
|
|
|
|
Well often a textual percentage is displayed on the progress dialog as well, or in its title bar so it can be seen on the task bar.
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
If you have to do heavy calculation.
A Better idea is to do it 'a part' in another thread.
Use thread safe methods to update your progress bar
|
|
|
|
|
Thank you!!!
|
|
|
|
|
you can use BackGroundWorker For that. becuase if you used progress bar for heavy operation your GUI will not respond becuase it give the priority to operation not GUI so your progress bar will not refresh. use BackGroundWorker Components in C# . that will help you.
cheers,
Abhijit
|
|
|
|
|
ooo thank you... it was very helpful!
|
|
|
|
|
I second that. Threads are always best for long-running background operations, just remember to perform control updates on the control thread, as lisan mentioned.
Using threads will also allow you to have a "Cancel" button that can abort the background operation (if you periodically check for a canceled state in that thread, since actually aborting threads can be dangerous).
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
hai all:
I am trying to do connect pc with mobile i dont know how to use webservcies to connect them can you help me
|
|
|
|
|
A webservice connects with a server. Do you know anything about web services, or did you just hear about them ? What are you trying to do ?
Christian Graus
No longer a Microsoft MVP, but still happy to answer your questions.
|
|
|
|
|
I have a small problem with a file copy loop the code,
During the loop some of the files encounter a System.UnauthorizedAccessException now i would like it just to skip this file and continue with the loop (copy the rest of the files) but it seems the top layer catch fires and it stops copying.
Code basically looks like this:
Private void dostuff()
{
try
{
CopyDirectory(@"c:\test");
}
catch
{
reporterror();
}
}
Private void CopyDirectory(string target)
{
string[] files = Directory.GetFiles(target);
foreach (string file in files)
{
try
{
File.copy(file, @"d:\")
}
catch
{
}
}
}
Thanks for reading!
|
|
|
|
|
Scalee wrote: File.copy(file, @"d:\")
I suggest you RTFM. If you want to copy a file to d, you need to do someting likke this
Path.Combine(@"d:\", Path.GetFileName(file))
to get the path you want.
Christian Graus
No longer a Microsoft MVP, but still happy to answer your questions.
|
|
|
|
|
I actually have
File.Copy(Element, Dst + Path.GetFileName(Element), true);
So if i get this right if i add catch (UnauthorizedAccessException uae),
It will continue to loop?
|
|
|
|
|
Christian Graus wrote: No longer a Microsoft MVP, but still happy to answer your questions.
No longer? I obviously know nothing about it, but how long does a certification last?
“Time and space can be a bitch.”
–Gushie, Quantum Leap
{o,o}.oO( Looking for a great RSS reader? Try FeedBeast! )
|)””’) Built with home-grown CodeProject components!
-”-”-
|
|
|
|
|
Well, for a start, you know what exception you are getting so you should explicitly handle that one. This your code would become:
foreach (string file in files)
{
try
{
File.Copy(file, targetDirectory);
}
catch (UnauthorizedAccessException uae)
{
Debug.Writeline("Unable to write file {0}", file);
}
}
|
|
|
|
|
Hi
i have a method that fill treeView, i want add node to treeViw by anonymous delegates :
private void GetServerDatabases(TreeView tree, string sqlServerInctance)
{
tree.Nodes.Clear();
Microsoft.SqlServer.Management.Smo.Server server = new Microsoft.SqlServer.Management.Smo.Server(sqlServerInctance);
foreach (Microsoft.SqlServer.Management.Smo.Database db in server.Databases)
{
TreeNode dbNode = new TreeNode(db.Name);
TreeNode tablesNode = new TreeNode("Tables");
TreeNode spsNode = new TreeNode("Stored Procedures");
dbNode.Nodes.Add(tablesNode);
dbNode.Nodes.Add(spsNode);
tree.Invoke(delegate
{
tree.Nodes.Add(dbNode);
});
}
}
but in above code (bold words in last lines), the following error message show me :
cannot convert from 'anonymous method' to 'System.Delegate'
how to solve my problem ?
thanks
modified on Tuesday, August 19, 2008 7:37 AM
|
|
|
|
|
tree.Invoke(new MethodInvoker(delegate
{
tree.Nodes.Add(dbNode);
}));
|
|
|
|