tags:

views:

28

answers:

1

We have a question regarding VB.Net 2008. We are used control array in vb.net and third party timer controls. When handle received from external application to timer control event procedure, after this form becomes blank and controls disappear. What we have to do to persist the controls.

+1  A: 

You asked what you have to do to persist the controls. It's not clear whether you mean winforms or webforms, but I can answer for both possibilities:

If it's the former, you have it backwards. The default behavior of all controls is that they are "persisted" until you tell them otherwise. If anything disappears, it's because you have code somewhere that tells it to. That's where you need to start looking.

If it's webforms/ASP.Net, the problem is that you don't understand the page lifecycle. Everything that raises server events, including your third party timer controls, causes a post back. That's how events work - the browser posts the form back to the same url in such a way that the server knows to call a your event code at the right time. The thing here is that as far your server is concerned, it's still just a new http request, and that means you're working with a brand new instance of your page class every time this happens. If you've previously added some controls to your page, it doesn't matter. That was an old instance that was discarded and probably disposed by the time the page was visible in the user's browser. If you want to keep those controls, you need to make sure you add them to the page on every postback.

Joel Coehoorn
If it's winforms, it could be that it's generating a new instance of the form somehow as a result of the external event, and the controls are not being added.
xpda