Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Beispielprojekte
12 Windows Presentation Foundation
13 Windows Store-Apps für Windows 8
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
C Inhalt der Buch-DVD
D Der Autor
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
Einstieg in Visual Basic 2012 von Thomas Theis
Ideal für Programmiereinsteiger geeignet
Buch: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Rheinwerk Computing
579 S., 3., aktualisierte und erweiterte Auflage 2013, brosch., mit DVD
24,90 Euro, ISBN 978-3-8362-1959-4
Pfeil 5 Objektorientierte Programmierung
Pfeil 5.1 Was ist Objektorientierung?
Pfeil 5.2 Klasse, Eigenschaft, Methode, Objekt
Pfeil 5.2.1 Objektverweis und Instanz
Pfeil 5.3 Eigenschaftsmethode
Pfeil 5.4 Konstruktor
Pfeil 5.5 Referenzen, Vergleiche und Typen
Pfeil 5.5.1 Objekte vergleichen
Pfeil 5.5.2 Typ eines Objekts ermitteln
Pfeil 5.5.3 Typ eines Objekts durch Vergleich ermitteln
Pfeil 5.6 Delegates
Pfeil 5.7 Statische Elemente
Pfeil 5.8 Vererbung
Pfeil 5.9 Konstruktoren bei Vererbung
Pfeil 5.10 Polymorphie
Pfeil 5.11 Schnittstellen
Pfeil 5.11.1 Vorhandene Schnittstellen

Rheinwerk Computing - Zum Seitenanfang

5.6 Delegates

Mithilfe von Delegates kann man Verweise auf Ereignismethoden erstellen. Sie werden sich fragen, wozu dies nötig ist, da wir Methoden zu den verschiedenen Ereignissen unserer Steuerelemente ja einfach über das Eigenschaftenfenster erzeugen können. Was ist aber mit Steuerelementen, die erst zur Laufzeit des Programms erzeugt werden? Hier kommen die Delegates ins Spiel.

Im nachfolgenden Beispiel im Projekt Delegates können wir im Formular per Klick auf den oberen Button beliebig viele, zusätzliche Buttons erzeugen. Zu jedem dieser Buttons gibt es dann auch eine Ereignismethode. Diese dient hier im Beispiel dazu, den Button wieder aus dem Formular zu löschen. In Abbildung 5.7 sehen Sie das Formular nach dem Erzeugen von vier zusätzlichen Buttons und dem Löschen der ersten beiden zusätzlichen Buttons.

Abbildung

Abbildung 5.7 Buttons, zur Laufzeit erzeugt bzw. gelöscht

Zunächst das Programm:

Public Class Form1
Dim YPos As Integer = 44
Dim Nr As Integer = 1

Private Sub cmdErzeugen_Click(...) Handles ...
Dim neuerButton As New Button
neuerButton.Location = New Point(12, YPos)
neuerButton.Size = New Size(75, 26)
neuerButton.Text = Nr

AddHandler neuerButton.Click,
AddressOf neuerButton_Click
Controls.Add(neuerButton)

YPos = YPos + 32
Nr = Nr + 1
End Sub

Private Sub neuerButton_Click(
sender As Object, e As EventArgs)
Controls.Remove(sender)

Dim senderButton As Button
senderButton = sender
MessageBox.Show("Button " & senderButton.Text &
" wurde gelöscht")
End Sub
End Class

Listing 5.13 Projekt Delegates

Zur Erläuterung:

  • Die beiden Eigenschaften YPos und Nr der Klasse Form1 dienen für die Y-Position und die laufende Nummer der neuen Buttons. Der erste Button wird bei Y = 44 erscheinen und die Nummer 1 tragen.
  • In der Ereignismethode cmdErzeugen_Click() wird ein neues Objekt des Typs Button erzeugt. Über die Eigenschaften Location, Size und Text bekommt es Lage, Größe und Aufschrift zugewiesen.
  • Dem Ereignis Click dieses neuen Buttons wird mithilfe von AddHandler ein Ereignis-Handler zugeordnet. Dies ist die Methode neuerButton_Click(). Die Adresse dieser Methode wird mithilfe von AddressOf zugewiesen. Dies bedeutet: Falls auf den neuen Button geklickt wird, dann startet der Code in neuerButton_Click(). Lassen Sie sich nicht irritieren: Solange diese Methode noch nicht existiert, wird ein Fehler gemeldet.
  • Die Methode Add() fügt der Auflistung Controls den neuen Button hinzu. Damit erscheint er im Formular. Die Auflistung Controls ist eine Eigenschaft des Formulars und umfasst alle darin vorhandenen Steuerelemente.
  • Die beiden Eigenschaften YPos und Nr der Klasse Form1 bekommen neue Werte, für den nächsten Button.
  • Es folgt die Methode neuerButton_Click(), die für das Ereignis Click aller zusätzlichen Buttons dient. Im Methodenkopf stehen, wie bisher, die beiden Objekte der Klasse Object bzw. EventArgs. Handles entfällt, da bereits bekannt ist, welches Ereignis durch diese Methode behandelt wird.
  • Der betreffende Button wird mithilfe der Methode Remove() wieder aus der Auflistung Controls gelöscht, er verschwindet also wieder.
  • Damit wir eine Information bekommen können, welcher Button gelöscht wurde, wird zunächst ein neuer Verweis auf einen Button angelegt. Mit senderButton = sender verweist dieser Verweis auf den auslösenden Button. Dessen Aufschrift ist die laufende Nummer.


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.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Einstieg in Visual Basic 2012

Einstieg in Visual Basic 2012
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Visual Basic 2012






 Visual Basic 2012


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Rheinwerk-Shop: Einstieg in Python






 Einstieg in Python


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern