Creating this "Please wait..." window?
-
I've thought about that but there should be a simpler way because lots of applications use it.
-
I've thought about that but there should be a simpler way because lots of applications use it.
Are you tring to figure out how to show the form or how to show it while the program is loading? If you are wanting to show it while the program load, then what i did was loaded the "loading form" at the ever beginning of the other form. then when it was done with all the other stuff I closed the "loading form"
-
Are you tring to figure out how to show the form or how to show it while the program is loading? If you are wanting to show it while the program load, then what i did was loaded the "loading form" at the ever beginning of the other form. then when it was done with all the other stuff I closed the "loading form"
I am not having trouble on figuring out those, the thing I am wondering is creating a form in that style. I think that form style is built-in Windows as a standart loading screen.
-
Hi I would like to show this windows in my application because it takes lot of time for it to load itself. How can I show this window. http://img36.imageshack.us/img36/7597/wnd.jpg[^] Thanks.
This is what I used the last time I needed this in Load event (formSplash is a borderless form).
Hide();
bool done = false;
ThreadPool.QueueUserWorkItem(
(x) =>
{
using (formSplash = new FormSplash())
{
formSplash.Show();
while (!done)
Application.DoEvents();
formSplash.Close();
}
});
// Do stuff...
done = true;
Show();Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus) -
This is what I used the last time I needed this in Load event (formSplash is a borderless form).
Hide();
bool done = false;
ThreadPool.QueueUserWorkItem(
(x) =>
{
using (formSplash = new FormSplash())
{
formSplash.Show();
while (!done)
Application.DoEvents();
formSplash.Close();
}
});
// Do stuff...
done = true;
Show();Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus)Thank you for the code but a borderless form and a label does a little bit different comparing to the screen in screenshot.
-
I've thought about that but there should be a simpler way because lots of applications use it.
Do whatever you are doing in load on a separate thread. And while that is executed, set the border of your form to none and hide all the controls. Display just a label to the user with needed text. This is no different than the previous post of mine except instead of having a separate form, you are doing same thing in the current form itself. This, IMO, is not a good way. You will need to write same thing again and again if there are some more forms which take time to load. Go for what I had posted earlier. AFAIK it is a decent way to achieve this. I don't know if there is any other way to do this.
-
Thank you for the code but a borderless form and a label does a little bit different comparing to the screen in screenshot.
You can use whatever border style you like if you set the form's ControlBox to false and Text to empty. Alternatively, override OnPaint in the splash form and draw your own border etc eg.
protected override void OnPaint(PaintEventArgs e)
{
using (Pen pen = new Pen(Color.FromKnownColor(KnownColor.InactiveBorder)))
{
e.Graphics.DrawRectangle(
pen,
new Rectangle(
Point.Empty, new Size(Width - 1, Height - 1))
);
}
base.OnPaint(e);
}Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus) -
You can use whatever border style you like if you set the form's ControlBox to false and Text to empty. Alternatively, override OnPaint in the splash form and draw your own border etc eg.
protected override void OnPaint(PaintEventArgs e)
{
using (Pen pen = new Pen(Color.FromKnownColor(KnownColor.InactiveBorder)))
{
e.Graphics.DrawRectangle(
pen,
new Rectangle(
Point.Empty, new Size(Width - 1, Height - 1))
);
}
base.OnPaint(e);
}Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus)That's better, thanks.
-
That's better, thanks.
I've investigated this a little more, and it may be able to be done by PInvoking SetWindowLong[^]. See also Window Styles[^] and Extended Window Styles[^].
Dave
BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)
Why are you using VB6? Do you hate yourself? (Christian Graus) -
Hi I would like to show this windows in my application because it takes lot of time for it to load itself. How can I show this window. http://img36.imageshack.us/img36/7597/wnd.jpg[^] Thanks.
Hi, That looks remarkably like a button without a focus rectangle to me.
public class CuelessButton : Button {
public CuelessButton() {
}protected override bool ShowFocusCues { get { return false; } }
}
Now dock it in a borderless form.
public partial class SplashForm : Form {
private CuelessButton button1;public SplashForm() { InitializeComponent(); this.button1 = new CuelessButton(); this.button1.Dock = System.Windows.Forms.DockStyle.Fill; this.button1.Text = "Please Wait ..."; this.Controls.Add(this.button1); }
}
Umm, I think that needs a bit of work but it looks about right! Alan.
-
I've thought about that but there should be a simpler way because lots of applications use it.
What could possibly be simpler than what you were told to do ? I mean, seriously ? you need to put it in another thread if you want it to repaint itself while the app is busy. yes, the other apps do that, too
Christian Graus Driven to the arms of OSX by Vista. "! i don't exactly like or do programming and it only gives me a headache." - spotted in VB forums. I can do things with my brain that I can't even google. I can flex the front part of my brain instantly anytime I want. It can be exhausting and it even causes me vision problems for some reason. - CaptainSeeSharp
-
What could possibly be simpler than what you were told to do ? I mean, seriously ? you need to put it in another thread if you want it to repaint itself while the app is busy. yes, the other apps do that, too
Christian Graus Driven to the arms of OSX by Vista. "! i don't exactly like or do programming and it only gives me a headache." - spotted in VB forums. I can do things with my brain that I can't even google. I can flex the front part of my brain instantly anytime I want. It can be exhausting and it even causes me vision problems for some reason. - CaptainSeeSharp
What I ment by simpler was something built-in to windows.