# Make window appear quickly

**URL:** <https://ifnotnil.com/t/make-window-appear-quickly/4677>\
**Category:** Other\
**Created:** [11 April 2026 13:05 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677 "2026-04-11T13:05:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![TomBaumgartner](https://ifnotnil.com/user_avatar/ifnotnil.com/tombaumgartner/32/427_2.png) [@TomBaumgartner](https://ifnotnil.com/u/TomBaumgartner)\
**Post date:** [11 April 2026 13:05 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677/1 "2026-04-11T13:05:19Z")

</div>

I have a long method which calculates invoices from a database, creates a PDF and sends each invoice as an email attachment. At the beginning of this method there is a line “winWait.Show”.

What is the best way to get this window to show sooner rather than later?

---

<div class="post-metadata">

**Author:** ![JeffT](https://ifnotnil.com/letter_avatar_proxy/v4/letter/j/e95f7d/32.png) [@JeffT](https://ifnotnil.com/u/JeffT)\
**Post date:** [11 April 2026 15:15 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677/2 "2026-04-11T15:15:22Z")

</div>

put everything _but_ winWait.show into the action code of a timer on winWait, set to execute once only.

The window will appear, the timer will fire, and the code will be run.

---

<div class="post-metadata">

**Author:** ![npalardy](https://ifnotnil.com/user_avatar/ifnotnil.com/npalardy/32/10_2.png) [@npalardy](https://ifnotnil.com/u/npalardy)\
**Post date:** [11 April 2026 17:44 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677/3 "2026-04-11T17:44:37Z")

</div>

Jeff is right

Splitting the SHOW away from the actual work will let the Show happen first then in the very short period timer the rest of the work can happen

You can just drop a timer control on the window, set its run mode to OFF and period to 0  
Then in the Windows Open event set the run mode to Once and have it run the method that does all the work you mentioned

You could do all this in code but … myeh … six of one half dozen of the other

There are other ways as well but this is about the simplest

---

<div class="post-metadata">

**Author:** ![thorstenstueker](https://ifnotnil.com/letter_avatar_proxy/v4/letter/t/aca169/32.png) [@thorstenstueker](https://ifnotnil.com/u/thorstenstueker)\
**Post date:** [11 April 2026 20:09 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677/4 "2026-04-11T20:09:40Z")

</div>

Interestingly this problems are coming up with nearly every Desktop language. When multithreading it becomes even more important to really take care. It is also a common error people making not toe control their windows completely what makes it sometimes creapy. We had a customer project where once a year on over 200 workplaces a bug. They have never found out why. When. I rewrote the stuffs I asked them if they had problems with that window cause the timing could go wring and the data in the window are after incorrect

---

<div class="post-metadata">

**Author:** ![anic297](https://ifnotnil.com/user_avatar/ifnotnil.com/anic297/32/18_2.png) [@anic297](https://ifnotnil.com/u/anic297)\
**Post date:** [12 April 2026 08:35 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677/5 "2026-04-12T08:35:26Z")

</div>

> [@npalardy](#):
>
> Then in the Windows Open event set the run mode to Once and have it run the method that does all the work you mentioned

You can also just define the mode to Once visually (in the window editor). This removes the need to add an “Open” event just for that.

---

<div class="post-metadata">

**Author:** ![npalardy](https://ifnotnil.com/user_avatar/ifnotnil.com/npalardy/32/10_2.png) [@npalardy](https://ifnotnil.com/u/npalardy)\
**Post date:** [12 April 2026 14:46 UTC](https://ifnotnil.com/t/make-window-appear-quickly/4677/6 "2026-04-12T14:46:39Z")

</div>

I do it this way to specifically avoid issues I’ve run into in the past

Maybe they’ve been solved but it was a bug that got closed as not reproducible

Doing it the way I outlined I’ve never had the issue repeat
