reopening form many times and Data Binding

M

Marcin Floryan

Hello!

My question regards opening (and re-opening) Form and the Load event.

I have a main form (frmMain) and I also have a data form (frmData).

In the main form I have created:

Private fData as new frmData()

And later, as my application is running, I open data form many times (even a
hundred times) like this

fData.RowId = ... ' there exists a public property of frmData called RowId
If (fData.ShowDialog(Me) = DialogResult.OK) THEN
...
ELSE
...
ENDIF

frmData has a private object of some class called "classData" and then I
want to bind some controls on frmData to properties in classData, like this:
....
Private cData as New classData()
.....
Me.txtValue1.DataBindings.Add(New Binding("Text", cData, "Value1"))

Where can I define the binding? When I try to define it after
InitialiseComponent() I got "OutOfMemory" Exception, so I decided to move it
and do the binding during the "Load" event (as It was shown in some MSDN
Magazine articles). But it appears that the Load event fires EVERY TIME
frmData opens (contrary to what the documentation states: Load Event -
"Occurs before a form is displayed for the first time.") and the second time
my form is opened
binding fails. I could create a variable "AlreadyBound" of type Boolean but
it seems a dirty solution for me. And then again I feel creating fData every
time it is opened and the disposing of it is a waste of time and resources.

I wait for any good clues regarding:
- how to open form multiple times (this is what I do with fData)
- how to have some operations performed every time the form is opened (like
clearing the data fields) while other only the first time the form is opened
(or when it is created in the memory)
- when (and how) to do the binding

Thanks in advance. Marcin Floryan.
 
C

Cor Ligthert

Hi Marcin,

I thought I asked you yesterday in the language.vb group what you mean with
"open" because that does not exist as far as I know, and that is just the
part not in your sample.

However I do not see that message either.

There is a show and hide and there is a way to create a form new.

Jest method robizc nowe alle nie jest do otwarte jak ja wiem.

Moze bardzo sle

:)

Cor
 
M

Marcin Floryan

All I write regards VB.NET and each Form object in .NET has OpenDialog
method and has
Load event. I have no problem opening the form, or creating it. My problem
is with data binding and with strange behaviour of Open Event (contrary to
what the docs say).
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top