C# - Információk a képernyőről

forráskód letöltése
Ebben a cikkben különféle információkat kérdezünk le a képernyővel kapcsolatban, mint például az aktuális felbontás, monitorok száma, stb.
Ebben a Screen osztály lesz segítségünkre. A rendszerben lévő monitorokat lekérdezhetjük az AllScreen property-n keresztül. Ekkor kapunk egy olyan tömböt, mely Screen típusú elemekben tárolja az összes monitor adatát. Ezt felhasználva, akár a monitorok számát is könnyedén meghatározhatjuk.
      protected void button1_Click (object sender, System.EventArgs e)
      {
        Screen sc = Screen.PrimaryScreen;
        listBox1.Items.Add("Screen count: " + Screen.AllScreens.Length.ToString());
        listBox1.Items.Add("Bounds: " + sc.Bounds.ToString());
        listBox1.Items.Add("WorkingArea: " + sc.WorkingArea.ToString());
        listBox1.Items.Add("DeviceName: " + sc.DeviceName);
      }
A Bounds property-ből Rectangle típusban megtudható a képernyőnk aktuális felbontása. A rendelkezésre álló munkaterület mérete a WorkingArea property-ből tudható meg, szintén Rectangle típusban. Ez elméletileg kisebb érték is lehet, mint a Bounds-ban kapott. Ilyen eset lehet például az, hogy a Windows tálca nem automatikusan elrejtett, így az állandóan lefoglal a képernyő hasznos területéből valamennyit. Ekkor az alkalmazásoknak csak a fennmaradó hely áll rendelkezésre. Hogy mennyi ez a hely, ezt mondja meg a WorkingArea.
Ha a Primary property igaz, akkor az aktuális Screen objektumunk az elsődleges monitor adatait tárolja. Ezt a Screen objektumot lekérhetjük a PrimaryScreen property-n keresztül.
A DeviceName property az adott monitor eszköz nevét írja le.