11.6 Eigenschaften einer Form
Viele Eigenschaften ändern nicht nur das Aussehen einer Form, sondern beeinflussen auch deren Verhalten zur Laufzeit. In den folgenden Abschnitten möchte ich Ihnen die wichtigsten Eigenschaften vorstellen. Hier alle zu erwähnen oder gar detailliert zu erläutern, würde den Rahmen dieses Kapitels sprengen. Die fehlenden Eigenschaften werden Sie sich einfach mittels des Eigenschaftsfensters erschließen können.
Eigenschaften, die sich sofort beim Erzeugen eines Fensters auf die Ausgabe der Form auswirken sollen, stellen Sie am besten im Eigenschaftsfenster ein. Manche Eigenschaften möchte man aber zur Laufzeit ändern, beispielsweise aufgrund geänderter Umgebungsbedingungen oder um die Interaktion zwischen Form und Anwender zu beeinflussen. Dazu kann jede nicht schreibgeschützte Eigenschaft auch mittels Programmcode verändert werden.
11.6.1 Rahmendarstellung
Zu den spezifischen Eigenschaften einer Form gehört FormBorderStyle. Sie legt fest, wie der Rahmen zur Laufzeit dargestellt wird, beispielsweise ob er eine fixe Größe hat oder vom Anwender verändert werden kann. Die Eigenschaft ist vom gleichnamigen Typ der Aufzählung FormBorderStyle, die zum Namespace System.Windows.Forms gehört. Diese Aufzählung stellt die in der Tabelle 11.5 aufgeführten Konstanten bereit.
Konstante | Beschreibung |
Fixed3D |
Dreidimensionaler Rahmen für eine Form fester Größe |
FixedDialog |
Rahmen eines Dialogs fester Größe ohne Systemmenüfeld |
FixedSingle |
Rahmen eines Dialogs fester Größe mit Systemmenüfeld |
FixedToolWindow |
Toolfenster mit schmaler Titelleiste, ohne Min/Max-Schaltflächen sowie ohne Systemmenüfeld für eine Form fester Größe |
None |
Die Form zeigt weder Rahmen noch Titelleiste |
Sizable |
Standardrahmen für eine in der Größe veränderbare Form |
SizableToolWindow |
In der Größe veränderbares Toolfenster mit schmaler Titelleiste, ohne Min/Max-Schaltflächen sowie ohne Systemmenüfeld. |
11.6.2 Formspezifisches Symbol
Was man nicht versäumen sollte, ist die Festlegung eines formspezifischen Symbols in der linken Ecke der Titelleiste, denn das standardmäßige sieht nicht besonders professionell aus. Dazu weisen Sie der Eigenschaft Icon das gewünschte Symbol zu. Sie können dazu auf Icons zurückgreifen, die mit Visual Studio 2008 als komprimierte Datei (VS2008ImageLibrary.zip) ausgeliefert werden. Die Datei ist im Ordner \Programme\Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\1031 zu finden sind (vorausgesetzt, Sie haben bei der Installation des Visual Studio 2008 den Standardinstallationspfad übernommen und nicht durch einen eigenen ersetzt).
11.6.3 Schaltflächen der Titelleiste
Standardmäßig werden am rechten Ende der Titelleiste drei Schaltflächen angeboten, um die Form zu minimieren, zu maximieren oder zu schließen. Manchmal ist es nicht erwünscht, dass zur Laufzeit ein Fenster bildschirmfüllend angezeigt oder minimiert in die Taskleiste gelegt wird, beispielsweise bei Dialogfenstern. Mit den beiden Eigenschaften MinimizeBox und MaximizeBox kann die Anzeige der beiden Schaltflächen beeinflusst werden.
Diese Eigenschaften können entweder True oder False sein. Der Standard ist True und zeigt die entsprechende Schaltfläche aktiviert in der Titelleiste. Mit False kann jede der beiden Schaltflächen einzeln deaktiviert werden. Eine Voraussetzung muss aber noch erfüllt sein, um eine Form auch tatsächlich minimiert in die Taskleiste legen zu können: Die Eigenschaft ShownInTaskbar der Form muss auf True eingestellt sein. Das ist auch gleichzeitig der Standard. False bewirkt zwar ebenfalls das Minimieren der Form, das Symbol für die Form wird dann jedoch oberhalb der Taskleiste abgelegt.
Ein etwas drastischeres Verhalten zeigt die Eigenschaft ControlBox. Ist sie False, werden nicht nur die drei Schaltflächen am rechten Ende der Titelleiste ausgeblendet, sondern darüber hinaus auch das Systemmenüfeld der Form. Um die Form zu schließen, sollten Sie dem Anwender dann unbedingt eine eigene Schliessen-Schaltfläche zur Verfügung stellen.
11.6.4 Transparenz
Eine nette Spielerei und in der Praxis kaum von größerem Nutzen ist die Einstellung der Transparenz mit Opacity, die zwischen 0 % (vollständige Transparenz: das Fenster einschließlich aller Komponenten ist unsichtbar) stufenlos bis 100 % (deckend) eingestellt werden kann. Immerhin scheinen sich in den jüngsten Microsoft-Produkten immer mehr auch solche visuellen Darstellungen zu etablieren. Haben Sie beispielsweise Outlook 2003 installiert, wird in einem halb transparenten Fenster der Eingang einer neuen Mail signalisiert.
Sehr ähnlich funktioniert auch TransparencyKey. Dieser Eigenschaft übergeben Sie eine Farbe vom Typ Color. Jedes Pixel des Fensters oder einer seiner Komponenten, das exakt dieser Farbe entspricht, ist dann transparent. Sollte die Maus zufälligerweise auf ein transparentes Pixel treffen, werden die Mausereignisse nicht ausgelöst.
Hinweis |
In Kombination mit FormBorderStyle = None können Sie fensterlose Anwendungen erzeugen, indem Sie als Wert für TransparencyKey die Hintergrundfarbe der Form wählen. Durch Definition der MouseMove-Ereignisse der Steuerlemente kann die Anwendung verschiebbar gemacht werden. |
11.6.5 Immer obenauf
Es gibt Fenster, die auch dann als oberstes Fenster einer Anwendung angezeigt werden, wenn sie nicht aktiviert sind. Typische Vertreter sind die Dialoge Suchen und Ersetzen, die in sehr vielen Anwendungen zu finden sind. Mit der Einstellung True der Eigenschaft TopMost erzielen Sie dieses Verhalten.
11.6.6 Mauszeiger verändern
Die Eigenschaft Cursor legt das Aussehen des Mauszeigers fest, wenn sich dieser über der Form oder einem Steuerelement bewegt. Mit
Me.Cursor = Cursors.WaitCursor
wird bei einer lang andauernden Operation der Mauszeiger als Sanduhr angezeigt. Damit signalisieren Sie dem Anwender, dass das System beschäftigt ist. Mit
Me.Cursor = Cursors.Default
schalten Sie nach der Beendigung der Operation wieder in die Standarddarstellung zurück.
Eine Alternative bietet die Eigenschaft UseWaitCursor. Dieser übergeben Sie True, um mit der Sanduhr einen länger dauernden Vorgang anzuzeigen, und setzen sie nach Abschluss der Operation auf False zurück, also:
Me.UseWaitCursor = True ' zeigt die Sanduhr an ... Me.UseWaitCursor = False ' schaltet den Standardcursor ein
Die Klasse Cursors definiert die Mausdarstellungen als statische Eigenschaften, die der Eigenschaft Cursor zugewiesen werden können. Die Tabelle 11.6 gibt nur einen kleinen Auszug aller Möglichkeiten wieder.
Wert in Cursors | Beschreibung |
Arrow |
Der Mauszeiger wird als Pfeil dargestellt. |
Cross |
Der Mauszeiger wird als Fadenkreuz dargestellt. |
Default |
Der Mauszeiger wird als Pfeil dargestellt (entspricht Arrow). |
WaitCursor |
Der Mauszeiger wird als Sanduhr dargestellt. |
11.6.7 Farbe (Color)
Farbeigenschaften wie BackColor zur Einstellung der Hintergrundfarbe und ForeColor für die Vordergrundfarbe (das entspricht der Zeichen- bzw. Schriftfarbe) sind vom Typ der Struktur Color. im Namensraum System.Drawing. Ein Blick in die Dokumentation dieser Struktur verrät uns, dass Color nur über einen parameterlosen Standardkonstruktor verfügt:
Dim myColor As Color = New Color()
Diesen Konstruktor einzusetzen, ist wenig sinnvoll, weil er nur ein transparentes Schwarz beschreibt, das als »leere« Farbe wahrgenommen wird. Sinnvoller ist es, auf eine der vordefinierten Farben zuzugreifen, die als statische, schreibgeschützte Eigenschaften veröffentlicht werden. Die Tabelle 11.7 enthält exemplarisch einen Auszug aus dieser Liste.
Konstante | Beschreibung |
Black |
Schwarz |
Blue |
Blau |
Green |
Grün |
Red |
Rot |
White |
Weiß |
Yellow |
Gelb |
Soll die Form oder eine Komponente (soweit diese auch die Eigenschaften BackColor bzw. ForeColor aufweist) zur Laufzeit die Farbe wechseln, genügt eine einfache Anweisung wie:
Me.BackColor = Color.Blue
Die Einstellungen BackColor und ForeColor werden von einigen Steuerelementen der Form per Vorgabe übernommen. Soll die Vorder- oder Hintergrundfarbe des Controls davon abweichen, müssen Sie das in der gleichnamigen Eigenschaft des Steuerelements einstellen.
11.6.8 Schriftart (Font)
Die Eigenschaft Font, die vom gleichnamigen Typ Font ist, wirkt sich auf die Darstellung von Text aus, der im Arbeitsbereich einer Form ausgegeben wird. Außerdem wird diese Eigenschaft von allen untergeordneten Controls der Form übernommen. Font ändert jedoch nicht die Schriftdarstellung in der Titelleiste.
Hinweis |
Änderungen der Schriftgröße skalieren die Fenstergröße, wenn die Eigenschaft AutoScaleMode den Wert AutoScaleMode.Font hat. |
Die Einstellung im Eigenschaftsfenster ist leicht. Etwas schwieriger wird es, wenn Sie die Font-Eigenschaft mithilfe eines Programms ändern müssen. Um einen vom Standard abweichenden Typ anzugeben, muss dazu ein neues Font-Objekt erzeugt werden, das von Anfang an die gewünschten Eigenschaften aufweist – beispielsweise Kursivschreibweise. Wegen der vielen Kombinationsmöglichkeiten bietet die Klasse Font insgesamt 13 öffentliche Konstruktoren an, die den unterschiedlichen Ansprüchen genügen. Drei möchte ich Ihnen an dieser Stelle exemplarisch vorstellen:
Public Sub New(prototype As Font, newStyle As FontStyle) Public Sub New(familyName As String, emSize As Single) Public Sub New(familyName As String, emSize As Single, style As FontStyle) |
Sehen wir uns den ersten Konstruktor an, dem im ersten Parameter die Referenz auf ein Font-Objekt übergeben wird. Dabei könnte es sich beispielsweise um die Rückgabe der Eigenschaft Font eines Objekts handeln. Im zweiten Parameter wird der Schriftstil festgelegt, der auf der Enumeration FontStyle basiert (siehe Tabelle 11.8).
Konstante | Beschreibung |
Bold |
Fett formatierter Text |
Italic |
Kursiv formatierter Text |
Regular |
Normaler Text |
Strikeout |
Durchgestrichener Text |
Underline |
Unterstrichener Text |
Angenommen, wir wollen die aktuelle Schriftdarstellung auf der Arbeitsfläche einer Form, die mit frm referenziert wird, in eine fett formatierte Ausgabe ändern. Die Anweisung dazu sieht wie folgt aus:
frm.Font = New Font(frm.Font, FontStyle.Bold)
Wenn Sie in die .NET-Dokumentation schauen, werden Sie feststellen, dass die FontStyle-Enumeration über das Flags-Attribut verfügt und somit jede Konstante der Enumeration durch ein bestimmtes Bit beschrieben wird. Eine gegebene Schrift kann damit gleichzeitig mehrere der in FontStyle definierten Charakteristika aufweisen. Das ist auch richtig, denn zweifelsfrei kann eine Schrift sowohl kursiv als auch fett sein.
Soll eine Schrift mehrere Merkmale gleichzeitig aufweisen, müssen die einzelnen Enumerations-Mitglieder nur mit dem bitweisen OR-Operator verknüpft werden:
myForm.Font = New Font(myForm.Font, FontStyle.Bold Or FontStyle.Italic)
Die Schrift, die jetzt in myForm dargestellt wird, ist sowohl fett als auch kursiv. Schriftart und -größe entsprechen der ursprünglichen Schrift.
Interessant wird es, innerhalb einer Anweisung eine der Schrifteigenschaften zu invertieren, den Wert also genau umzukehren. Nehmen wir beispielsweise an, Sie möchten erreichen, dass eine Schrift, die aktuell fett angezeigt wird, in Normaldarstellung ausgegeben wird. Bold ist zwar eine Eigenschaft der Klasse Font (wie auch Italic, Strikeout und Underline), hat jedoch keinen set-Accessor und kann daher nicht direkt verändert werden. Der Weg zum Ziel führt nur über den Konstruktor der Font-Klasse:
frm.Font = new Font(frm.Font, frm.Font.Style Xor FontStyle.Bold)
Dem ersten Parameter wird hier die aktuelle Schrift übergeben. Um den zweiten mit dem richtigen Wert zu füttern, wird zunächst die augenblickliche FontStyle-Einstellung abgefragt. Mit dem XOR-Operator verknüpfen wir diesen Wert noch mit der Bitsequenz für die fette Schriftdarstellung: Das von FontStyle.Bold beschriebene Bit wird anschließend innerhalb der Bitsequenz FontStyle invertiert.
11.6.9 Abmessungen einer Form
Die äußere Abmessung einer Form kann auf verschiedene Arten beschrieben werden:
- Size
- Height und Width
Size legt in einer Anweisung gleichzeitig die Breite und die Höhe des Fensters in Pixel fest. Diese Eigenschaft ist vom Typ der gleichnamigen Struktur Size. Übergibt man der Eigenschaft einen neuen Wert, bietet es sich an, einen passenden Konstruktor aufzurufen, z. B.:
Me.Size = New Size(600, 400)
Dieselbe Fenstergröße erzielen Sie, wenn den beiden Eigenschaften Width und Height die Größenangaben einzeln übergeben werden:
Me.Width = 600 Me.Height = 400
Sie werden die Eigenschaften Width und Height nicht im Eigenschaftsfenster finden. Dennoch können Sie sie im Code manipulieren.
Größe einer Form begrenzen
Wollen Sie verhindern, dass der Anwender eine Form zur Laufzeit über ein bestimmtes Maß hinaus vergrößert oder verkleinert, stellen Sie die Eigenschaften MinimumSize und MaximumSize auf die gewünschten Grenzwerte ein.
11.6.10 Position eines Fensters
Um ein Fenster an einer bestimmten Position des Bildschirms anzuzeigen, stehen mehrere Eigenschaften zur Verfügung:
- StartPosition
- Location
- Left und Top
Die Position, die ein Fenster beim Programmstart auf dem Bildschirm einnimmt, wird mit der Eigenschaft StartPosition festgelegt. Dazu wird der Eigenschaft ein Wert aus der Enumeration FormStartPosition übergeben:
Konstante | Beschreibung |
CenterParent |
Zentrierung des Formulars innerhalb des übergeordneten Formulars. |
CenterScreen |
Das Formular wird auf dem Bildschirm zentriert angezeigt. |
Manual |
Die Position des Formulars wird durch die Einstellung der Eigenschaft Location festgelegt. |
WindowsDefaultBounds |
Position und Größe werden von Windows festgelegt. Die Werte Width/Height bzw. Size der Form werden ignoriert. |
WindowsDefaultLocation |
Das Formular wird an der Windows-Standardposition positioniert. Die Größe der Form wird durch Width/Height bzw. Size festgelegt. Diese Einstellung ist der Standard. |
Zu Beginn einer Windows-Sitzung wird das erste Programmfenster in der linken oberen Ecke des Bildschirms positioniert, jedes weitere Fenster erscheint, um einen bestimmten Betrag versetzt, weiter rechts unten. Das ist die Vorgabe, wenn nichts anderes bestimmt wird. Dieses Positionierungsverhalten wird durch die beiden Einstellungen WindowsDefaultBounds und WindowsDefaultLocation beschrieben. Beide unterscheiden sich nur darin, in welcher Größe ein Formular nach dem Start angezeigt wird. Wählen Sie WindowsDefaultBounds, werden alle weiteren Angaben bezüglich Position und Größe ignoriert; mit WindowsDefaultLocation dagegen wird die Größe der Form aus den Einstellungen der Eigenschaften Width und Height berücksichtigt.
Öffnen wir ein Fenster aus einem anderen heraus – es könnte sich zum Beispiel um ein Dialogfenster handeln –, ist insbesondere die Einstellung CenterParent interessant: Der Dialog wird genau mittig über dem aufrufenden positioniert. CenterScreen positioniert eine Form in der Mitte des Bildschirms.
Legen Sie Manual fest, können Sie sowohl die Größe als auch die Position nach eigenem Ermessen festlegen. Location beschreibt dazu die x- und y-Position der Form nach dem Start. Die Angaben sind in Pixel und beziehen sich auf die Position der linken oberen Ecke der Form bezüglich des Ursprungspunktes des Bildschirms (0, 0). Dieser befindet sich in der linken oberen Ecke des Bildschirms.
Left legt den Abstand zwischen dem linken Rand des Fensters und des Bildschirms fest, Top den Abstand zum oberen Rand. Auch diese Eigenschaften werden nicht im Eigenschaftsfenster angeboten, obwohl beide öffentlich sind. Darüber hinaus gibt es noch zwei ähnliche, positionsbeschreibende Eigenschaften, Right und Bottom, die allerdings schreibgeschützt sind.
Möchten Sie sowohl die Größe als auch die Position eines Fensters gleichzeitig verändern, können Sie entweder mit der Eigenschaft Bounds oder mit der Eigenschaft DesktopBounds eine einzeilige Anweisung codieren. Beide sind vom Typ Rectangle und definieren das Fenster als Rechteck einer vorgegebenen Größe an einer bestimmten Position. Mit
Me.DesktopBounds = New Rectangle(100, 120, 600, 450)
wird beispielsweise ein Fenster mit den Abmessungen 600 × 450 Pixel beschrieben, das zum linken Rand des Bildschirms einen Abstand von 100 Pixel aufweist und zum oberen Rand einen Abstand von 120 Pixel.
Wollen Sie die Größe oder die Position eines Fensters ändern, müssen Sie nicht unbedingt Eigenschaftswerte neu festlegen. Es bieten sich hierzu auch die Methoden SetDesktop-Location und SetDesktopBounds an, die dasselbe bewirken.
11.6.11 Anzeigezustand eines Fensters
Normalerweise ist die Größe eines Fensters nach dem Öffnen durch die Eigenschaft Size festgelegt. Darüber hinaus können Sie aber auch schon beim Öffnen einer Form oder auch später zur Laufzeit einen anderen Zustand festlegen. Zur Auswahl stehen die maximierte und die minimierte Anzeige, festgelegt in der Eigenschaft WindowState, die einen der drei Werte in Tabelle 11.10 aus der Enumeration FormWindowState annehmen kann.
Konstante | Beschreibung |
Maximized |
Das Fenster wird maximiert angezeigt. |
Minimized |
Das Fenster wird minimiert angezeigt. |
Normal |
Das Fenster wird in seiner Standardgröße angezeigt. |
11.6.12 Arbeitsfläche des Fensters (Clientbereich)
Die weiter oben beschriebenen Eigenschaften zur Festlegung der Größe eines Formulars beziehen sich auf die Außenabmessungen, also einschließlich Rand und Titelleiste. Fügen Sie einer Form Steuerelemente hinzu oder rufen Sie eine grafische Methode auf, um in die Form zu zeichnen, spielen die Außenabmessungen keine Rolle, denn diese Elemente können nur den standardmäßig grauen Arbeitsbereich der Form für sich in Anspruch nehmen. Dieser wird durch die Eigenschaft ClientSize beschrieben und berücksichtigt weder den Außenrahmen noch die Titelleiste. Die Eigenschaft ist ebenfalls vom Typ Size, der die Breite und die Höhe über Width und Height beschreibt. Wird zur Laufzeit der Anwendung der Eigenschaft ClientSize ein anderer Wert zugewiesen, passen sich die Außenabmessungen der Form an die neue Vorgabe an, weil Rahmen und Titelleiste immer konstant sind.
11.6.13 Fokussierreihenfolge
Alle fokussierbaren Steuerelemente einer Form können mit der -Taste der Reihe nach aktiviert werden. Nach dem Öffnen und Anzeigen eines Formulars sollten zuerst die Steuerelemente aktiviert werden, die eine Eingabe vom Anwender erwarten, anschließend die Schaltflächen. Innerhalb dieser beiden Gruppen ist die Fokussierreihenfolge konventionsgemäß zuerst von links nach rechts, danach von oben nach unten. Das gilt natürlich nicht nur für modale Dialoge, auch alle anderen Fenster sollten sich daran halten.
Mit der Eigenschaft TabIndex der Steuerelemente können wir die Fokussierreihenfolge in einer Form vorschreiben. Dabei erhält das Element zuerst den Fokus, dessen TabIndex-Eigenschaft den Wert 0 hat, danach wird das Steuerelement mit dem Wert 1 fokussiert usw. TabIndex wird in der Reihenfolge vergeben, in der die Controls der Form hinzugefügt werden. Sie können die Werte im Eigenschaftsfenster der Steuerelemente beliebig anpassen.
11.6.14 Standardschaltflächen eines Fensters
Bei vielen Fenstern kommt der -Taste (Eingabetaste) eine besondere Bedeutung zu. Ist eine Schaltfläche fokussiert und wird die Eingabetaste gedrückt, wird das Click-Ereignis der fokussierten Schaltfläche ausgelöst. Wird die -Taste gedrückt, während beispielsweise eine Textbox den Fokus hat, reagieren viele Formulare so, als sei die OK-Schaltfläche angeklickt worden.
Um eine bestimmte Schaltfläche zur Standardschaltfläche eines Formulars zu erklären, veröffentlicht die Klasse Form die Eigenschaft AcceptButton. Wollen wir die OK-Schaltfläche zur Standardschaltfläche unseres modalen Dialogs machen, muss die Anweisung so lauten:
Me.AcceptButton = btnOK
Ein ähnliches Verhalten zeigen Formulare, wenn die -Taste gedrückt wird. Allerdings entspricht das nicht dem Klicken auf die OK-Schaltfläche, sondern ist gleichbedeutend mit dem Klicken auf Abbrechen – das Formular wird geschlossen. Diesmal müssen wir der Eigenschaft CancelButton der Form die Referenz der formeigenen Abbrechen-Schaltfläche übergeben:
Me.CancelButton = btnAbbrechen
AcceptButton und CancelButton können auch im Eigenschaftsfenster eingestellt werden.
11.6.15 Unterelemente (ControlsCollection)
Eine Form zählt zu den Komponenten, die ihrerseits weitere Komponenten (Steuerelemente) beherbergen können. Diese Fähigkeit haben unter anderem auch GroupBox und Panel. Alle diese Typen haben eines gemeinsam: die Eigenschaft Controls. Damit wird die Referenz auf eine Auflistung vom Typ Control.ControlCollection veröffentlicht, in der die vom Container beherbergten Steuerelemente verwaltet werden. Wir haben es hier zum ersten Mal mit einer verschachtelten Klassendefinition zu tun, denn die Klasse ControlCollection ist innerhalb der Klasse Control definiert.
Die Zugehörigkeit eines Steuerelements zu einer ControlCollection ist von elementarer Bedeutung. Nehmen wir an, Sie hätten einen Button wie folgt instanziiert:
Dim btn As New Button()
Die Frage, wo dieser angezeigt wird, ist einfach zu beantworten: gar nicht. Es fehlt der Schaltfläche noch eine Voraussetzung: Der Button muss einer ControlCollection hinzugefügt werden – entweder der der Form oder der eines anderen Containers. Damit ein Container wie beispielsweise eine GroupBox in einer Form angezeigt werden kann, muss die GroupBox ihrerseits Mitglied der ControlCollection der Form sein. So schließt sich der Kreis und kann infolgedessen zu einer tief verschachtelten Auflistungshierarchie führen.
Jede ControlCollection hat die üblichen Methoden einer indexbasierten Auflistung zum Hinzufügen, Löschen und für den Zugriff auf die Elemente (Add, Remove, Clear ...). Mit
Me.Controls.Add(btn)
wird die oben instanziierte Schaltfläche zur Steuerelementauflistung der Form hinzugefügt und zur Laufzeit wunschgemäß angezeigt.
Solange Sie den Forms-Designer benutzen, werden Sie ziemlich selten mit der ControlCollection in Berührung kommen, denn alles Notwendige erledigt das Visual Studio. Sie finden den entsprechenden Programmcode in der Methode InitializeComponent. Sie können die Auflistung aber jederzeit manipulieren, um zur Laufzeit dynamisch Steuerelemente zu erzeugen und danach ein- oder auszublenden – beispielsweise wenn die Form den aktuellen Bedingungen angepasst werden muss.
11.6.16 Eigenschaften des Form-Objekts
Sie haben jetzt einige Eigenschaften eines Form-Objekts kennengelernt. Es gibt noch eine große Zahl weiterer, auf die ich hier aus Platzgründen nicht weiter eingehen kann. Ich möchte Sie aber dazu ermuntern, mit der einen oder anderen Eigenschaft zu experimentieren. Das gilt im Übrigen auch für die Eigenschaften der Controls, denen wir uns später noch widmen werden. Meist können Sie aufgrund des gewählten Eigenschaftsnamens schon die Fähigkeiten erahnen, die sich dahinter verbergen.
Alle bisher besprochenen Eigenschaften finden Sie zusammenfassend in Tabelle 11.11. Sie werden im weiteren Verlauf dieses Buches noch einige weitere Eigenschaften kennenlernen, die in dieser Tabelle der Übersichtlichkeit wegen aber noch nicht enthalten sind.
Eigenschaft | Typ | Beschreibung |
BackColor |
Color |
Die Hintergrundfarbe der Form |
Bounds |
Rectangle |
Die Größe und Position einer Form |
ClientSize |
Size |
Die Größe des Clientbereichs einer Form |
ControlBox |
Boolean |
Gibt an, ob in der Titelleiste das Systemmenüfeld angezeigt wird. |
Controls |
Control. ControlCollection |
Auflistung aller Steuerelemente, die in einem Container (hier der Form) enthalten sind |
Cursor |
Cursor |
Legt den Cursor fest. |
DesktopBounds |
Rectangle |
Die Größe und Position der Form auf dem Windows-Desktop |
Font |
Font |
Die Schrift für den Clientbereich und die untergeordneten Controls |
ForeColor |
Color |
Die Vordergrundfarbe (Texte, Linien) |
FormBorderStyle |
FormBorderStyle |
Die Rahmenart der Form |
Height |
Integer |
Die Höhe der Form |
Icon |
Icon |
Das Symbol für die Form |
Left |
Integer |
Der Abstand vom linken Rand der Form zum linken Bildschirmrand in Pixel |
Location |
Point |
Die Koordinaten der linken oberen Ecke der Form relativ zur linken oberen Ecke des Bildschirms |
MaximizeBox |
Boolean |
Gibt an, ob die Maximieren-Schaltfläche in der Titelleiste angezeigt wird. |
MaximumSize |
Size |
Die Maximalgröße der Form |
MinimizeBox |
Boolean |
Gibt an, ob die Minimieren-Schaltfläche in der Titelleiste angezeigt wird. |
MinimumSize |
Size |
Die Minimalgröße der Form |
Opacity |
Double |
Die Undurchsichtigkeit einer Form |
ShowInTaskbar |
Boolean |
Gibt an, ob die Form in der Taskleiste abgelegt werden kann. |
Size |
Size |
Die Größe der Form |
StartPosition |
FormStartPosition |
Die Position des Fensters zur Laufzeit |
Top |
Integer |
Der Abstand vom oberen Rand der Form zum oberen Bildschirmrand in Pixel |
TopMost |
Boolean |
Gibt an, ob die Form in der Anwendung als oberstes Fenster angezeigt wird. |
TransparencyKey |
Color |
Die Farbe der Form, die transparent angezeigt wird |
UseWaitCursor |
Boolean |
Gibt an, ob die Sanduhr als Mauszeiger angezeigt werden soll oder nicht. |
Width |
Integer |
Die Breite der Form |
WindowState |
FormWindowState |
Der Anzeigestatus des Fensters |
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.