HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Meghajtó mappáinak terület-összetétele grafikusan


Példaprogram letöltése

14789 bájt

Számtalan módja van annak, hogy a meghajtóra vonatkozó területinformációkat, és foglaltsági adatokat megjelenítsük. Cikkünkben egy olyan módszert választottunk, melyben megjelennek a meghajtó gyökerében található mappák területadatai, egy-egy szeletet képviselve az ábrán. Az ábra azokat a mappákat jeleníti meg, melyek számottevő hányadát foglalják el az adott meghajtónak, a többi mappa nem jelenik meg. A grafikon tartalmazza a szabad helyet jelképező színt is. A kontrol kliens területe fölött mozgatva az egeret bővebb információk kaphatóak az egyes mappákról.

A kontrolt fordítás után az alkalmazás Form-jára dobva megjeleníti a Drive property-jében megadott meghajtó azon mappáinak területfoglalását, melyek nullánál nagyobb százalékban foglalnak helyet az összes területből. A kördiagramban eltérő színnel jelennek meg az egyes mappákat jelképező szeletek, valamint feltűntetjük a meghajtó gyökerében fellelhető valamennyi állomány összes területének nagyságát is. Az eseményt az OnPaint metódusban kezeljük le.
A művelethez a Graphics osztály FillPie metódusát használjuk fel.
g.FillPie(new SolidBrush(GetColor(j+27)),crect,plus,a);
...
A hívó alkalmazásban egyszerűen ki kell választanunk a kontrolnak átadandó meghajtót, és a területe az új meghajtó adataival rajzolódik újra. Az egeret a kontrol fölött mozgatva elérhető, hogy egy adott szín által reprezentált mappa-információt ToolTip-ben jelenítsünk meg. Ennek elvégzése az OnMouseMove kezelőben valósul meg.
toolTip1.SetToolTip(this,tooltip);
A kontrol két fenti kezelőmetódusában a következő segédfüggvényeket hívjuk meg:
GetFirstFixed metódus
A metódusban meghatározzuk, hogy melyik az első meghajtó, mely elérhető a rendszerben. A meghajtó betűjelét adja vissza a metódus.
GetDrives metódus
A Microsoft Scripting Runtime COM komponens felhasználásával kigyűjtjük a számítógép valamennyi meghajtóját, amennyiben az adataik elérhetők. A meghajtó betűjele mellett tároljuk az összterület és a szabad terület adatait, valamint a foglaltságot százalékban.
GetDirectoryInfo metódus
A megadott meghajtó mappáinak adatait egy listába gyűjtjük úgy, hogy minden mappáról eltároljuk annak nevét, létrehozásának idejét, méretét és a területfoglalást százalékban. Emellett tároljuk el a foglaláshoz tartozó szöget, mellyel majd a kördiagram adott szeletét létrehozzuk.
A mappák adatai mellett tároljuk a meghajtó gyökerében megtalálható állományok összterületét és helyfoglalását is. A lista utolsó rekesze a meghajtó szabadhelyére vonatkozó információkat tartalmazza.
GetPoint metódus
A metódusban vizsgáljuk meg, hogy az egér pozíciója belül van-e a grafikon területén, mert ha igen, akkor visszaadja, hogy a kördiagram mely szögén áll éppen.
FillColorList metódus
A Color színstruktúra színeit eltároljuk egy karakterlánc-tömbben, hogy a rajzoláskor felhasználhassuk azokat a Color.FromName metódusban.
GetColor metódus
A színtömb egy elem felhasználásával létrehoz egy színt, melyet visszaad.

Cikksorozat



Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 560. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |