Serialize Button Color

giovedì 12 febbraio 2009 - 10.24

toniovigi Profilo | Expert

Ciao ragazzi, riprendo un argomento gia trattato su un thread vecchio che non riesco a trovare,
praticamente la classe button nn essendo serializzabile, uno di voi mi aveva creato una Struttura per racchiudere le proprietà del bottone che voglio
salvare in modo tale da poter serializzare , la struttura e la seguente

/// <summary>
/// Questa struttura viene usata per racchiudere le proprietà del bottone che vuoi salvare
/// </summary>
[Serializable()]
public struct ButtonInfo
{
/// <summary>
/// Crea una struttura ButtonInfo a partire da un bottone, copiando le proprietà rilevanti
/// </summary>
public ButtonInfo(Button from)
{

this.Name = from.Name;
this.Text = from.Text;
this.Bounds = from.Bounds;
//Assegna le altre proprietà che intendi salvare

}

/// <summary>
/// Conversione implicita da Button a ButtonInfo
/// </summary>
/// <remarks>Serve per poter scrivere buttonInfo = button;</remarks>
public static implicit operator ButtonInfo(Button from)
{
return new ButtonInfo(from);
}

/// <summary>
/// Conversione implicita da ButtonInfo a Button
/// </summary>
/// <remarks>Serve per poter scrivere button = buttonInfo;</remarks>
public static implicit operator Button(ButtonInfo from)
{
Button b = new Button();
b.Name = from.Name;
b.Text = from.Text;
b.Bounds = from.Bounds;


//Assegna le altre proprietà che intendi salvare

return b;
}

//Nome del Button
public string Name;
//Testo del button
public string Text;
//Posizione e dimensioni del Button
public Rectangle Bounds;
//Aggiungi altre proprietà da serializzare

}
Premetto che ho anche le funzioni serializza e deserializza adattate alla classe che funzionano perfettamente;

Ora mi è era stato detto che io potevo aggiungere eventualmente altre proprietà da serializzare e ho provato ad aggiungere gli attributi per il colore
quindi creare public Color colorebottone e aggiungendo i vari oggetti nelle funzioni dello struct,ma nn funziona,

ho anche guardato il file XML creato dalla serializzazione e noto una cosa strana

<ButtonInfo>
<Name />
<Text> </Text>
<Bounds>
<Location>
<X>45</X>
<Y>180</Y>
</Location>
<Size>
<Width>66</Width>
<Height>50</Height>
</Size>
<X>45</X>
<Y>180</Y>
<Width>66</Width>
<Height>50</Height>
</Bounds>
<colore />
</ButtonInfo>
cè quel tag colore che non contiene informazioni ed e strano

MI potete dare una manO???

Grazie Antonio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5