.
Anmeldung | Registrieren | Hilfe | Posteingang
Suchen
Home Foren News Member Offers Termine Developer Blogs Knowledge Base

Navigation

Navigationslinks überspringen.
Knowledge Base reduzierenKnowledge Base
Tutorials reduzierenTutorials
Webentwicklung
Cliententwicklung
Datenbankentwicklung
IT Professional
Sharepoint
Sprachspezifisch reduzierenSprachspezifisch
C#
Visual Basic
C++
XAML
SQL
JavaScript
Erfahrungsberichte reduzierenErfahrungsberichte
Entwicklersoftware
Bücher
FAQ Grundlagen

Verknüpfungen

  • Knowledge Base durchsuchen
  • Hilfe zur Knowledge Base
  • RSS Feed
  • Twitter

Ich sehe was was du nicht siehst: ScreenResolution

In manchen Anwendungsfällen ist es wichtig die Bildschirmauflösung oder den Arbeitsbereich des Monitors zu kennen. Gerade als Notification welche meinst im unteren rechten Bereich erscheint kann man doch sehr komplizierte Dinge programmieren. Dieser Artikel soll helfen gerade auf solche Anforderungen reagieren zu können.

Zuerst wird die Form erstellt.

In der Form_Load Methode werden die Werte in Pixel für die gesamte Auflösung sowie für den Arbeitsbereich ermittelt. Dazu wird folgender Code verwendet:

private void FormScreenResolution_Load(object sender, System.EventArgs e)
{
  //Monitor Auflösung
  lblDeviceName.Text =
  Screen.PrimaryScreen.DeviceName;
  lblHeight.Text =
    Screen.PrimaryScreen.Bounds.Height.ToString() + " Pixel";
  lblWidth.Text =
    Screen.PrimaryScreen.Bounds.Width.ToString() + " Pixel";

  //Arbeitsbereich Auflösung
  lblWorkingHeight.Text =
    Screen.PrimaryScreen.WorkingArea.Height.ToString();
  lblWorkingWidth.Text =
    Screen.PrimaryScreen.WorkingArea.Width.ToString();
}

Über die Klasse Screen können alle Bildschirme die mit dem PC verbunden sind ermittelt werden. Dieser Artikel beschränkt sich auf den primären Bildschirm und ermittelt die entsprechenden Angaben.

Um das Formular jetzt in den unteren rechten Bereich zu verschieben wird die Methode SetBounds() verwendet. Damit spart man sich größere Rechnerreien. Der Code sieht wie folgt aus:

private void btnBottomRight_Click(object sender, System.EventArgs e)
{
  //Formular im unteren rechten Bereich positionieren
  this.SetBounds
  (
    Screen.GetWorkingArea(this).Width-this.Width,
    Screen.GetWorkingArea(this).Height-this.Height ,
    this.Width,
    this.Height
  );
}

Wie im dem Beispiel gezeigt kann mit der Methode SetBounds() die Begrenzung des Steuerelementes festgelegt werden. Folgende Parameter nimmt die Methode entgegen:

Parametername Wert
y Der neue Left-Eigenschaftenwert des Steuerelements.
x Der neue Right-Eigenschaftenwert des Steuerelements.
width Der neue Width-Eigenschaftenwert des Steuerelements.
height Der neue Height-Eigenschaftenwert des Steuerelements.

Über die Screen Klasse lassen sich noch viele andere nette Dinge machen. Einfach mal ausprobieren!

von Rene Paschold, 11.06.2008 zugeordnet zu Cliententwicklung , Tutorials .

Anhänge

screenresolution.zip

Kommentare

Es sind noch keine Kommentare vorhanden.

Eigener Kommentar

Sie müssen angemeldet sein, um ein Kommentar zu erstellen.
  • Schwierigkeit: Einsteiger
  • Views: 1278
  • Zur Druckversion
  • Artikel von Rene Paschold

Kick it on dotnet-kicks.de

Artikel

Autor

Kick it!

Wenn ihnen dieser Artikel gefällt, bitte "kicken" sie ihn.

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum