GUI-Entwicklung 1: Windows Forms



Ähnliche Dokumente
GUI-Programmierung 1: Windows Forms

GUI- Entwicklung I: Windows Forms

WPF Steuerelemente Listbox, ComboBox, ListView,

Jürgen Bayer. MDI-Anwendungen in C#

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Mediator 9 - Lernprogramm

Java Projekt: Tic Tac Toe + GUI

tentoinfinity Apps 1.0 EINFÜHRUNG

Aktivierung von Makros in den Erfassungshilfen

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

Leere Zeilen aus Excel-Dateien entfernen

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

3 Grundlagen. 3.1 Die erste App

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Objektorientierte Programmierung für Anfänger am Beispiel PHP

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Outlook 2000 Thema - Archivierung

Installation älterer Programmversionen unter Windows 7

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Windows Presentation Foundation (WPF) -Grundlagen -Steuerelemente. Dr. Beatrice Amrhein

WPF Bindung. Dr. Beatrice Amrhein

Um eine Person in Magnolia zu erfassen, gehen Sie wie folgt vor:

Updatehinweise für die Version forma 5.5.5

Java: Vererbung. Teil 3: super()

Update von Campus-Datenbanken (FireBird) mit einer Version kleiner 9.6 auf eine Version größer 9.6

Internet online Update (Internet Explorer)

Teamlike Administratorenhandbuch

Newsletter. 1 Erzbistum Köln Newsletter

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Zunächst ist dieser Service nur für Mac OS verfügbar. Drucken unter Windows wird Ihnen im Laufe des Semesters zur Verfügung stehen.

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Erstellen eines Formulars

! " # $ " % & Nicki Wruck worldwidewruck

How-To Guide 002. Wie stelle ich den virtuellen Speicher von Windows ein?

Vorkurs C++ Programmierung

ANLEITUNG EBOOKS. 1. Der Kauf von ebooks über den Onlineshop

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Universität Potsdam ZEIK - Zentrale Einrichtung für Informationsverarbeitung und Kommunikation

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

Navigation. Drucken Klicken Sie auf ein Symbol, um nähere Informationen zu erhalten. Papierhandhabung Anzeigen der Online-Informationen

teischl.com Software Design & Services e.u. office@teischl.com

Step by Step Webserver unter Windows Server von Christian Bartl

iphone-kontakte zu Exchange übertragen

2. Konfiguration der Adobe Software für die Überprüfung von digitalen Unterschriften

NEUES LAYOUT FÜR DIE ONLINE-ERHEBUNG DES STATISTISCHEN BUNDESAMTES

System-Update Addendum

Kontakte Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

MSDE 2000 mit Service Pack 3a

schooltas offline Modus mit der Google Chrome App

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Menü auf zwei Module verteilt (Joomla 3.4.0)

Informationen zur Nutzung des Formularservers von Haus und Grund Aachen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook ( ) Zentrum für Datenverarbeitung der Universität Tübingen

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

Individuelle Formulare

NTT DATA Helpdesk Benutzerhandbuch

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung

UPDATEANLEITUNG UP-TO-DATE-GARANTIE DEU. Sehr geehrte Kunden, 1. Klicken Sie auf Benutzerprofil erstellen.

Einen Wiederherstellungspunktes erstellen & Rechner mit Hilfe eines Wiederherstellungspunktes zu einem früheren Zeitpunkt wieder herstellen

Microsoft Office Outlook OMS an SMSCreator anbinden

- Eine deutsche Tastatur für alles außer ProTools - Eine englische Tastatur für ProTools - Eine Umschaltmöglichkeit für die Eingabesprache

Zunächst müssen sie die MAC-Adresse ihres Gerätes für WLAN registrieren. 2. Die MAC Adresse (physikalische Adresse des WLAN) wird mit dem Befehl:

MetaQuotes Empfehlungen zum Gebrauch von

Windows 7 - Whoami. Whoami liefert Informationen wie z.b. die SID, Anmelde-ID eines Users, sowie Gruppenzuordnungen, Berechtigungen und Attribute.

Navigieren auf dem Desktop

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Kurzanweisung für Google Analytics

Dokumentation des Projektes Tic Tac Toe

Steganos Secure Schritt für Schritt-Anleitung für den Gastzugang SCHRITT 1: AKTIVIERUNG IHRES GASTZUGANGS

VB.net Programmierung und Beispielprogramm für GSV

GeBIThandy Mobile Zeiterfassung einfach, schnell, mobil

Windows Verbindung mit WLAN BZPflege trennen Verbindung mit WLAN EDU-BZPflege automatisch erstellen... 30

auf den E-Book-Reader

OS Anwendungsbeschreibung

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

WLAN mit WPA (wpa4fh)

32.4 Anpassen von Menüs und Symbolleisten 795i

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Das Handbuch zu KDiskFree. Jonathan Singer Michael Kropfberger Übersetzung von: Gregor Zumstein

Arrays von Objekten. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Write-N-Cite eine Kurzanleitung

SJ OFFICE - Update 3.0

5.2 Neue Projekte erstellen

Swing Lernen am Code Teil 1

Tipps und Tricks zu Netop Vision und Vision Pro

Starten der Software unter Windows 7

Word 2010 Grafiken exakt positionieren

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Das neue Webmail Überblick über die neuen Funktionen im Outlook Web App 2010

TeamSpeak3 Einrichten

Klausur GUI-Entwicklung WS10/11 1.Termin

Internet online Update (Mozilla Firefox)

Anzeigen einer Liste der verfügbaren Schriftarten

ICS-Addin. Benutzerhandbuch. Version: 1.0

Übung - Freigabe eines Ordners und Zuordnung eines Netzwerlaufwerks in Windows XP

X-Lite. Kurzanleitung zur Konfiguration von X-Lite ( Mehr Informationen unter Stand

Transkript:

GUI-Entwicklung 1: Windows Forms Proseminar Objektorientiertes Programmieren mit.net und C# Johannes Faltermeier Institut für Informatik Software & Systems Engineering

Agenda Einführung Grundlagen: GUI-Entwicklung mit Visual Studio und Windows Forms Grundaufbau eines Projekts Steuerelemente Eventhandler Mehrere Fenster nichtmodale/modale Fenster MDI-Anwendungen Zukunft von Windows Forms 14.12.10 GUI-Entwicklung 1: Windows Forms 2

Einführung: Windows Forms? Programmierschnittstelle für GUI-Entwicklung Eingeführt mit.net 1.0 Komponenten entsprechen bereits vorhandenen Win32-Pendants Namensraum System.Windows.Forms Seit.NET 3.0 Konkurrenz durch WPF Durch MONO-Projekt auch unter Linux, MAC OS 10 verfügbar 14.12.10 GUI-Entwicklung 1: Windows Forms 3

Visual Studio-Designer 14.12.10 GUI-Entwicklung 1: Windows Forms 4

Grundaufbau eines Projekts Program.cs Einstiegspunkt mit Main-Methode static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); Form1.Designer.cs Enthält Oberflächendefinition private void InitializeComponent() //Oberflächendefinitionen Form1.cs Enthält Eventhandler Ruft im Konstruktor InitializeComponent() auf partial class Form1 Hilft computergenerierten von selbstgeschriebenem Code zu trennen 14.12.10 GUI-Entwicklung 1: Windows Forms 5

Grundaufbau (Fortsetzung) AssemblyInfo.cs Build-Informationen wie Titel oder Version Resources.resx/Resources.Designer.cs.resx enthält Definitionen von Ressourcen (z.b. Strings).Designer.cs vereinfacht späteren Zugriff Properties.Resources.BuchInfo Settings.settings/Settings.Designer.cs/Settings.cs.settings für Verwaltung der Programmeinstellungen (z.b. Farbeinstellungen).Designer.cs vereinfacht späteren Zugriff.cs Properties.Settings.Default.Hintergrundfarbe Enthält Eventhandler um auf Laden, Ändern, Speichern zu reagieren 14.12.10 GUI-Entwicklung 1: Windows Forms 6

Wichtige Steuerelemente: Überblick Funktion Textverarbeitung Informationsanzeige Auswahl aus Liste Grafikanzeige Dialog Menüs Befehle Container Datenanzeige Datumseinstellung Steuerelement(e) TextBox, RichTextBox, MaskedTextBox Label, LinkLabel, StatusStrip, ProgressBar CheckedListBox, ComboBox PictureBox OpenFileDialog, SaveFileDialog, FolderBrowserDialog MenuStrip, ContextMenuStrip Button Panel, SplitContainer, TableLayoutPanel, FlowLayoutPanel DataGriedView DateTimePicker 14.12.10 GUI-Entwicklung 1: Windows Forms 7

Anordnung in Containern SplitContainer Zwei Panels, die duch Balken getrennt sind FlowLayoutPanel Ordnet Elemente dynamisch in horizontaler oder vertikaler Richtung aus TableLayoutPanel Layout in Tabellenstruktur 14.12.10 GUI-Entwicklung 1: Windows Forms 8

Allgemeine Eigenschaften (Auswahl) Property BackColor BorderStyle Cursor ContextMenuStrip Enabled Font ForeColor Location Locked Name TabIndex Text Visible Erklärung Hintergrundfarbe Rahmenart Cursor über Steuerelement Menü, welches bei Rechtklick angezeigt wird aktiviert/nicht aktiviert Schriftattribute, nicht nur -art Vordergrund- bzw. Zeichenfarbe Position linke obere Ecke Sperren gegen Veränderungen Bezeichner Tabreihenfolge Inhalt/Beschriftung (un-)sichtbar 14.12.10 GUI-Entwicklung 1: Windows Forms 9

Weitere Eigenschaften: Dock und Anchor Dock bindet Element an Außenkanten oder an verbleibende Fläche der übergeordneten Komponente 14.12.10 GUI-Entwicklung 1: Windows Forms 10

Weitere Eigenschaften: Dock und Anchor (Fortsetzung) Anchor richtet das Element relativ zu den Außenkanten der übergeordneten Komponente aus 14.12.10 GUI-Entwicklung 1: Windows Forms 11

Nützliche Methoden (Auswahl) Methode Contains DoDragDrop FindForm Focus GetContainerControl GetType Hide/Show Scale SetBounds Erklärung Prüft, ob Steuerelement dem aktuellen untergeordnet ist Startet eine Drag & Drop-Operation Bietet Zugriff auf übergeordnetes Formular Fokusiert das Element Bietet Zugriff auf übergeordnetes Steuerelement Ruft Typ des Steuerelements ab Steuerelement verbergen/anzeigen Skaliert das Steuerelement Setzt Größe des Steuerelements 14.12.10 GUI-Entwicklung 1: Windows Forms 12

Steuerelemente zur Laufzeit erzeugen Kann in manchen Situationen sinnvoll bzw. einfacher als mit Designer sein Button b = new Button(); //Eigenschaften zuweisen this.controls.add(b); Button[] buttons = new Button[3]; for (int i = 0; i < 3; i++) buttons[i] = new Button(); //Eigenschaften zuweisen this.controls.addrange(buttons); 14.12.10 GUI-Entwicklung 1: Windows Forms 13

Eventhandler Beispiel: private void button_click(object sender, EventArgs e) sender ist das Objekt, welches das Ereignis ausgelöst hat Über Cast Zugriff möglich if (sender is Button) (sender as Button).Text = "OK"; e ist vom Ereignis abhängig, z.b. enthält das KeyPress-Ereignis das gedrückte Zeichen Muss beim Objekt registriert werden: this.button.click += new System.EventHandler(this.button_Click) 14.12.10 GUI-Entwicklung 1: Windows Forms 14

Eventhandler (Fortsetzung) Beispiel Hangman: Zeichen aus Textbox auf Klick auslesen und auswerten Im Designer Doppelklick auf Button private void button_click(object sender, EventArgs e) if (gamestarted) cur = textbox.text; textbox.text = ""; evaluate(); //wertet Benutzereingabe aus 14.12.10 GUI-Entwicklung 1: Windows Forms 15

Nichtmodale/modale Fenster Beispiel Hangman: zweites Formular anzeigen //nichtmodal private void neutoolstripmenuitem_click(object sender, EventArgs e) Form2 input_form = new Form2(); input_form.show(); //modal private void neutoolstripmenuitem_click(object sender, EventArgs e) Form2 input_dialog = new Form2(); input_dialog.showdialog(); 14.12.10 GUI-Entwicklung 1: Windows Forms 16

Modale Fenster (Fortsetzung) ShowDialog() hat Rückgabewert DialogResult DialogResult Abort Cancel Ignore No None OK Retry Yes public Form2() InitializeComponent(); button1.dialogresult = DialogResult.OK; public Form2() InitializeComponent(); DialogResult = DialogResult.OK; //Spiel - > Neu private void neutoolstripmenuitem_click(object sender, EventArgs e) resetgame(); //Spiel zurücksetzen if (input_dialog.showdialog() == DialogResult.OK) //Spiel starten 14.12.10 GUI-Entwicklung 1: Windows Forms 17

MDI-Anwendungen Hauptfenster Eigenschaft IsMdiContainer auf true setzen Wenn Hauptfenster Steuerelemente enthält mit Dock an Außenkanten binden 14.12.10 GUI-Entwicklung 1: Windows Forms 18

MDI-Anwendungen (Fortsetzung) Kindfenster MdiParent-Eigenschaft setzen public partial class Form1 : Form public Form1() InitializeComponent(); //Datei - > Neu private void neutoolstripmenuitem_click(object sender, EventArgs e) Form f2 = new Form2(); f2.mdiparent = this; f2.show(); 14.12.10 GUI-Entwicklung 1: Windows Forms 19

MDI-Anwendungen (Fortsetzung) Anordnen der Kindfenster über LayoutMdi-Methode des Hauptfensters MdiLayout. ArrangeIcons Cascade TileHorizontal Zugriff auf Kindfenster TileVertical alle: über MdiChildren-Collection des Hauptfensters aktives: ActiveMdiChild ist nur Objekt vom Typ Form Cast private void button1_click(object sender, EventArgs e) if (this.activemdichild!= null) if (this.activemdichild is Form2) (this.activemdichild as Form2).label1.Text = "Ich bin aktiv"; 14.12.10 GUI-Entwicklung 1: Windows Forms 20

Zukunft von Windows Forms Wird von Microsoft nicht mehr weiterentwickelt und für eigene Projekte nicht mehr verwendet. Stattdessen WPF WPF-Vortrag Trotzdem noch sehr beliebt bei Datenbankanwendungen (z.b. Geschäftsprozessanwendungen) nur kurz- bis mittelfristige Lösung 14.12.10 GUI-Entwicklung 1: Windows Forms 21