Proprietà di tipo colore

mercoledì 23 novembre 2005 - 14.15

GuardianOfTheFlame Profilo | Junior Member

Ciao, sto provando a creare una classe linea per capire la propertygrid.
ho definito la proprietà colore nel seguente modo:

<DescriptionAttribute("Colore della linea."), CategoryAttribute("Aspetto"), DefaultValueAttribute(Color.Black)> Public Property Colore() As Color
Get
Return Colore
End Get
Set(ByVal Value As Color)
Colore = Value
End Set
End Property

importando System.ComponentModel si possono definire i valori tra <> usati poi dalla propertygrid.
Il problema è in DefaultValueAttribute(Color.Black): il tip giallo su Color.Black dice "Necessaria espressione costante". Vedendo sulla guida in effetti Color.Black è una struttura(?). Come cavolo faccio a definire come colore predefinito il nero allora? Devo definire la variabile colore in un altro modo?

Riciao
Salo

Brainkiller Profilo | Guru

>importando System.ComponentModel si possono definire i valori
>tra <>usati poi dalla propertygrid.
>Il problema è in DefaultValueAttribute(Color.Black): il tip giallo
>su Color.Black dice "Necessaria espressione costante". Vedendo
>sulla guida in effetti Color.Black è una struttura(?). Come
>cavolo faccio a definire come colore predefinito il nero allora?
> Devo definire la variabile colore in un altro modo?

Ciao,
in effetti è così. Ho provato facendo dei test ma non ho trovato una soluzione usando questa via.
Ti consiglio un'altra strada. Puoi nel costruttore della tua classe specificare il colore di default. Ti riporto lo skeleton di classe che ho scritto in C# da cui puoi capire il concetto:

public class Linea
{
private Color colore;

public Color Colore
{
get
{
return colore;
}
set
{
colore=value;
}
}
public Linea()
{
this.colore=Color.Yellow;
}
}

La riga di codice chiave è l'ultima:

this.colore=Color.Yellow;

in VB.NET dovrebbe essere Me.colore.
In questo modo appena crei una nuova istanza e la assegni alla propertygrid vedrai che sarà automaticamente selezionato il colore giallo.
Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
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