G
Guest
I have some complex (fairly) user controls that I have created. Some of
those user controls host other user controls. When I host one of these on a
WinForm, I sometimes run into problems where the designer blows up with an
"Object Reference Not Set to an Instance of an Object". Sometimes it even
(so kindly) "munches" my code in the hosting control. Unfortunately, it
seldm if ever tlss "where" exactly the problem occurred, and to my knowledge
there is no way to run the designer in debug mode and stop through what it's
doing.
My fix, for now, as been to put a "if( !DesignMode) test around al of the
set / get fxns in my properties. This works (usally.... Although under
certain circumstants, the designer has apparently not set the value of the
DesignMode property by the time these properties are getting configured.)
All this fact-checking in my propertis is superfluous, were it not for the
fact that the designer always wants to assign values to them that sometimes
do not make sense. Especially and most particularly when the properties take
objects as their values, and the designer is trying to assign "NULL" to them.
Is there some attribute that I can assign to my properties that will prevent
the designer from trying to retreive values from, or assign values to them
while rendering the control in design mode? I have seen the [Borwseable()]
attribute, but that doesn't seem to fully cover it. Is there a collection of
information on these attributes somewhere that I can read up on? Surely
there has to be a better way to do this other than what I am currently having
to do.
Thanks for any help.
JIM
those user controls host other user controls. When I host one of these on a
WinForm, I sometimes run into problems where the designer blows up with an
"Object Reference Not Set to an Instance of an Object". Sometimes it even
(so kindly) "munches" my code in the hosting control. Unfortunately, it
seldm if ever tlss "where" exactly the problem occurred, and to my knowledge
there is no way to run the designer in debug mode and stop through what it's
doing.
My fix, for now, as been to put a "if( !DesignMode) test around al of the
set / get fxns in my properties. This works (usally.... Although under
certain circumstants, the designer has apparently not set the value of the
DesignMode property by the time these properties are getting configured.)
All this fact-checking in my propertis is superfluous, were it not for the
fact that the designer always wants to assign values to them that sometimes
do not make sense. Especially and most particularly when the properties take
objects as their values, and the designer is trying to assign "NULL" to them.
Is there some attribute that I can assign to my properties that will prevent
the designer from trying to retreive values from, or assign values to them
while rendering the control in design mode? I have seen the [Borwseable()]
attribute, but that doesn't seem to fully cover it. Is there a collection of
information on these attributes somewhere that I can read up on? Surely
there has to be a better way to do this other than what I am currently having
to do.
Thanks for any help.
JIM