Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 128779
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T05:41:23+00:00 2026-05-11T05:41:23+00:00

I’ve already looked at this question , and I’ve already checked out the suggestions

  • 0

I’ve already looked at this question, and I’ve already checked out the suggestions that were made there. My program creates and destroys a lot of UI controls (a lot of UI controls), and anything that makes controls hang around after they’re ‘destroyed’ will cause this problem. (Fun fact: if you don’t set a ToolStrip control’s Visible property to false before you destroy its container, it doesn’t get disposed, because it’s still registered with Windows to receive theme-change events; it only unregisters itself when it’s not visible, and it apparently doesn’t have any way of knowing that this is happening when its container is being destroyed.)

The thing is, it’s actually possible that my application really is running out of window handles. The program’s got a single form that has nested tab controls. Each parent tab has 12 or 13 child tabs, and a child tab can have 30 or 40 controls on it. It’s quite possible for the user to have 15 parent tabs open at any given time, and that’s getting into the territory of 5000+ live controls in the application. And I know that many of my controls use more than one window handle.

(And before you say ‘well, it looks like you’ve designed the UI wrong,’ let me disabuse of that: the whole reason the application exists in the first place is that the users have an enormous space of data that they need to be able to navigate to quickly. The tabs-within-tabs thing actually works really well for them.)

My understanding is that there’s a hard limit of 10,000 window handles per application. If that’s actually true (I understand a lot of things to be true that aren’t), then I’m going to have to manage my app’s use of them. I can, for instance, throw away the contents of the least recently used tab when I start running low on window handles.

But how do I tell that I’ve started running low on window handles? And is this really the right approach to the problem?

(This is but one of the many reasons that I’d like to rebuild this UI in WPF.)

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T05:41:24+00:00Added an answer on May 11, 2026 at 5:41 am

    I’ve fixed this problem, which I’ve described in detail in this answer. I answered it there instead of here mostly because I got mad(der) at Raymond Chen when I read the other responses to the question.

    The short answer:

    1. Maintain an LRU cache of tab pages that gets updated whenever the user visits one.
    2. Count the window handles in use before creating a new tab page.
    3. If too many window handles are in use, dispose the contents of least-recently-visited tab pages until the number of window handles in use gets down to a safe level.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 76k
  • Answers 76k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer I recall struggling with this issue long ago, wondering why… May 11, 2026 at 3:03 pm
  • added an answer The functions you want are 'encode-time, 'format-time-string, and 'decode-time. For… May 11, 2026 at 3:03 pm
  • added an answer That's a very general question. What is 'an external file'… May 11, 2026 at 3:03 pm

Related Questions

I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I am currently running into a problem where an element is coming back from
Seemingly simple, but I cannot find anything relevant on the web. What is the
Configuring TinyMCE to allow for tags, based on a customer requirement. My config is
Is it possible to replace javascript w/ HTML if JavaScript is not enabled on

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.