A mellékelt példa megnyitása előtt szükséges a PropertyGrid komponenst telepíteni. Ehhez kattintsunk jobb gombbal a ToolBox-on, majd válasszuk a Customize ToolBox menüpontot. A megjelenő ablakban válasszuk a .NET Frameworks Components lapot, majd keressük elő a PropertyGrid elemet. Az előtte lévő CheckBox-ot jelöljük ki és zárjuk le OK-val az ablakot. Ekkor a ToolBox-ban megjelenik egy új komponens PropertyGrid névvel. Ez lesz a Visual Studio.NET-ben lévő Properties nevű ablak komponense.
A fenti feladat megvalósításához persze szükségünk lesz egy saját osztályra, így kezdjük ennek elkészítésével, mely a mellékelt Class1.cs forráskódban található.
A létrehozandó osztályban lesz három property, mindegyik sztring típusú. Funkciójuk a sztringek tárolásában ki is merül, a példa egyszerűségének kedvéért. Lesz tehát egy Text1 és Text2 property, melyeket a First kategóriába sorolunk és lesz egy All property, mely a Second kategóriába kerül.
A property tárolásához létrehozunk három privát sztringet.
private string FText1;
private string FText2;
private string FAll;
Majd a First kategóriába kerül a Text1 és Text2 property.
[Category("First")]
public string Text1
{
get{return FText1;}
set{FText1 = value;}
}
[Category("First")]
public string Text2
{
get{return FText2;}
set{FText2 = value;}
}
Végül a Second kategóriában létrehozzuk az All property-t. Ennél az érték kiolvasást úgy végezzük el, hogy az Text1 és Text2 property értékét összeadva szolgáltatjuk a property értékét.
[Category("Second")]
public string All
{
get
{
FAll = FText1 + " - " + FText2;
return FAll;
}
set{FAll = value;}
}
}
A feladatunk következő részében megpróbáljuk rábírni a PropertyGrid-et, hogy jelenítse meg futási időben az osztályunk egy példányát. Ehhez létrehozunk egy változót az új osztályunkból, majd értéket adunk két property-jének, végül PropertyGrid SelectedObject property-jének értékül adjuk az imént létrehozott osztályunk példányát, így az tudni fogja, hogy melyik objektumot kell megjeleníteni.
protected void button1_Click (object sender, System.EventArgs e)
{
Class1 c = new Class1();
c.Text1 = "Hello";
c.Text2 = "World";
propertyGrid1.SelectedObject = c;
}
Ha mindent jól készítettünk elő, akkor máris látható lesz objektumunk két csoportja a First és Second, valamint a benne lévő property-k, melyeknek akár meg is változtathatjuk az értékeit.