Manual UserControl

25/04/2006 - 09:58 por Catalin Lungu | Informe spam
Buenas,
Donde podria encontrar un buen tutorial (avanzado) sobre la creación de
Controles de Usuario. Tengo algunos pero no encuentro lo que me hace falta.

Gracias,
C.

Preguntas similare

Leer las respuestas

#1 Jose Luis Manners
25/04/2006 - 20:15 | Informe spam
¿Podrias dar mas detalles de lo "que te hace falta" ?

-
Coopera con el foro. Dinos si te sirvió la respuesta aquí planteada.
-

Saludos,

Jose Luis Manners
MCP, MCAD.NET, DCE5
http://www.josemanners.com/

"Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as
possible, you are, by definition, not smart enough to debug it."
-Brian W. Kernighan

"Catalin Lungu" wrote in message
news:e2kkr0$p8g$
Buenas,
Donde podria encontrar un buen tutorial (avanzado) sobre la creación de
Controles de Usuario. Tengo algunos pero no encuentro lo que me hace
falta.

Gracias,
C.

Respuesta Responder a este mensaje
#2 Catalin Lungu
26/04/2006 - 09:41 | Informe spam
Claro.

Estoy haciendo un user control estilo CollapsedPanel. Una de las propiedades
del control es un List<Panels> donde Panels es una clase que se encarga de
guardar las propiedades de cada panel. A su vez la clase Panels tiene una
propiedad que es un List<Items> donde Items es una clase que guarda las
propiedades de los items de cada panel.
Bueno, en tiempo de diseño estoy poniendo propiedades al control para
probarlo y intentando corigiendo errores, hago las modificaciones guardo el
control y al volver a usarlo me da el siguiete error:

El objeto de tipo 'System.Collections.Generic.List`1[ADVMenu.pPanels]' no
puede convertirse en el tipo
'System.Collections.Generic.List`1[ADVMenu.pPanels]'.
Ocultar

en System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object
component, Object value)
en
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager
manager, CodeAssignStatement statement)
en
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager
manager, CodeStatement statement)

Al principio pense que que esto pasa por que la propiedad no es de las
sencillas (string, int, etc.), ahora creo que no es posible modificar el
control despues de que escriba sus datos codificados en .binary.base64 en el
".resx". Es que ahora tengo un grupo de proyectos formado por el control y
el propyecto de prueba.

Tengo razon en lo que digo o me falla algo?
Pensé que en un libro más avanzado podria encontrar alguna explicación.

Saludos,
Catalin
Respuesta Responder a este mensaje
#3 Catalin Lungu
26/04/2006 - 16:38 | Informe spam
Seguir probando me doy cuenta que utilizando la libreria (micontrol.dll), en
una aplicación, poniendole varias propiedades como paneles, items, colores y
substituiendo despues la libreria por otra igual pero recompilada me da el
siguiente error:

El objeto de tipo 'System.Runtime.Serialization.TypeLoadExceptionHolder' no
puede convertirse en el tipo
'System.Collections.Generic.List`1[ADVMenu.iItems]'.
Ocultar

en System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo
culture, BindingFlags invokeAttr)
en System.Reflection.RtFieldInfo.InternalSetValue(Object obj, Object value,
BindingFlags invokeAttr, Binder binder, CultureInfo culture, Boolean
doVisibilityCheck, Boolean doCheckConsistency)
en
System.Runtime.Serialization.FormatterServices.SerializationSetValue(MemberInfo
fi, Object target, Object value)
en System.Runtime.Serialization.ObjectManager.CompleteObject(ObjectHolder
holder, Boolean bObjectFullyComplete)
en
System.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolder
holder)
en System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj,
Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo
member, Int32[] arrayIndex)
en
System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object
obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
en
System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord
pr)
en
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Parse(ParseRecord
pr)
en System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
en
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler
handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain,
IMethodCallMessage methodCallMessage)
en
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
serializationStream, HeaderHandler handler, Boolean fCheck, Boolean
isCrossAppDomain, IMethodCallMessage methodCallMessage)
en
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream
serializationStream)
en System.Resources.ResXDataNode.GenerateObjectFromDataNodeInfo(DataNodeInfo
dataNodeInfo, ITypeResolutionService typeResolver)
en System.Resources.ResXDataNode.GetValue(ITypeResolutionService
typeResolver)
en System.Resources.ResXResourceReader.ParseDataNode(XmlTextReader reader,
Boolean isMetaData)
en System.Resources.ResXResourceReader.ParseXml(XmlTextReader reader


Puede alguien decirme que es lo que está mal?

Gracias,
C.
Respuesta Responder a este mensaje
#4 JCharlie
28/04/2006 - 08:20 | Informe spam
No se que tiene q ver eso con lo q he preguntado.

Pero gracias de todas formas.


"Catalin Lungu" escribió en el mensaje
news:e2n874$cfv$
Claro.

Estoy haciendo un user control estilo CollapsedPanel. Una de las
propiedades del control es un List<Panels> donde Panels es una clase que
se encarga de guardar las propiedades de cada panel. A su vez la clase
Panels tiene una propiedad que es un List<Items> donde Items es una clase
que guarda las propiedades de los items de cada panel.
Bueno, en tiempo de diseño estoy poniendo propiedades al control para
probarlo y intentando corigiendo errores, hago las modificaciones guardo
el control y al volver a usarlo me da el siguiete error:

El objeto de tipo 'System.Collections.Generic.List`1[ADVMenu.pPanels]' no
puede convertirse en el tipo
'System.Collections.Generic.List`1[ADVMenu.pPanels]'.
Ocultar

en System.ComponentModel.ReflectPropertyDescriptor.SetValue(Object
component, Object value)
en
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeAssignStatement(IDesignerSerializationManager
manager, CodeAssignStatement statement)
en
System.ComponentModel.Design.Serialization.CodeDomSerializerBase.DeserializeStatement(IDesignerSerializationManager
manager, CodeStatement statement)

Al principio pense que que esto pasa por que la propiedad no es de las
sencillas (string, int, etc.), ahora creo que no es posible modificar el
control despues de que escriba sus datos codificados en .binary.base64 en
el ".resx". Es que ahora tengo un grupo de proyectos formado por el
control y el propyecto de prueba.

Tengo razon en lo que digo o me falla algo?
Pensé que en un libro más avanzado podria encontrar alguna explicación.

Saludos,
Catalin

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida