Anwendungskonfigurationsdateien

Während Sie etwa in einer Access-Anwendung leicht die Konfigurationsdaten in einer eigens dafür vorgesehenen Tabelle speichern können oder in einer benutzerdefinierten Text- oder XML-Datei, gibt es unter C# andere Möglichkeiten. Wie für alles finden Sie unter C# auch für das Verwalten von Konfigurationsdaten einen eigenen Namespace – in diesem Fall heißt dieser ConfigurationManager. Dieser Artikel zeigt, wie Sie damit Daten für Desktop-Anwendungen speichern und wieder abrufen können.

Weiterlesen

Delegates

Delegates sind Typen, denen Sie eine Methode zuweisen, die sie dann über das Delegate ausführen können. Ein Delegate legt dabei nur fest, welchen Rückgabewert und welche Parameter die zu verwendende Methode nutzt – Sie können dem Delegate zur Laufzeit dann beliebige Methoden zuweisen, die dieser Signatur entsprechen. Delegates benötigen Sie aber auch, wenn Sie Klassen mit benutzerdefinierten Ereignissen programmieren möchten. In diesem Fall nutzen Sie ein Delegate, um die beim Eintreten des Ereignisses auszuführende Methode festzulegen.

Weiterlesen

Von VBA zu C#: Dateidialoge

Unter VBA musste man schon einigen Zusatzcode inklusive Api-Deklarationen zu seinem Projekt hinzufügen, um Dialoge etwa zum Auswählen einer zu öffnenden Datei, eines Verzeichnisses oder zur Angabe eines Dateinamens zum Speichern anzuzeigen. Unter .NET gibt es dazu natürlich eine vorgefertigte Klasse, die alle notwendigen Funktionen liefert. Der vorliegende Artikel zeigt, wie Sie diese Dialoge anzeigen und die damit ermittelten Daten nutzen können.

Weiterlesen

Von VBA zu C#: Objekt-Ereignisse

Nicht nur Fenster und Steuerelemente, sondern auch Objekte, die nicht Bestandteil der Benutzeroberfläche sind, können Ereignisse auslösen. Schließlich können Sie auch selbst Klassen programmieren und diese mit Ereignishandlern versehen. Wie Sie unter C# mit diesen Möglichkeiten umgehen, zeigt dieser Artikel. Dabei schauen wir uns zunächst an, wie Sie Ereignisse für Objekte auf Basis etwa der OpenFileDialog-Klasse implementieren und erstellen dann eine benutzerdefinierte Klasse mit einem Ereignishandler.

Weiterlesen

Von VBA zu C#: Steuerelement-Ereignisse

Wer unter VBA Ereignisprozeduren für Formulare, Berichte oder Steuerelemente erstellen wollte, hatte es leicht: Einfach in der Ereigniseigenschaft den Wert [Ereignisprozedur] auswählen, auf die Schaltfläche mit den drei Punkten klicken und schon konnte man die vorgefertigte Prozedur mit Anweisungen füllen. In manchen Fällen war das Implementieren von Ereignissen schon komplizierter, aber immer noch schnell machbar. Unter C# bekommt man dies auch meist mit wenigen Klicks hin, aber die notwendigen Handgriffe unterscheiden sich doch deutlich von denen unter VBA. Dieser Artikel zeigt, wie Sie gängige Varianten von Ereignisprozeduren anlegen.

Weiterlesen

Von VBA zu C#: Das Static-Schlüsselwort

Was bedeutet eigentlich das Schlüsselwort “static”, mit dem Sie sowohl Typen/Klassen also auch die Elemente einer Klasse wie Methoden oder Eigenschaften kennzeichnen können – und was ist bei der Erstellung und Nutzung von Typen und Elementen mit diesem Schlüsselwort zu beachten? Dies schauen wir uns im vorliegenden Artikel an und liefern einige Beispiele, welche die Regeln verdeutlichen.

Weiterlesen

Experimentieren mit der Konsole

Wenn Sie in die Programmierung mit C# einsteigen, werden Sie – genau wie wir in unseren Beiträgen – eine Menge ausprobieren wollen. Als Umsteiger von VBA haben Sie es da schwer: Unter VBA haben Sie zum Ausprobieren von Code einfach eine neue Prozedur in einem Standardmodul angelegt und diese dann mit F5 gestartet. In Visual Studio verwenden Sie zum Testen von Code zum Beispiel eine Konsolenanwendung. Verschiedene Prozeduren schreiben und mal eben aufrufen wie im VBA-Editor gelingt dort allerdings nicht. Wir zeigen Ihnen, wie Sie dennoch einigermaßen komfortabel experimentieren können.

Weiterlesen

Objektorientierte Programmierung: Vererbung I

Eines der wichtigsten Merkmale der objektorientierten Programmierung ist die Vererbung. Dank der Vererbung kann man für ein Objekt eine Basisklasse erstellen, die grundlegende Eigenschaften und Methoden für dieses Objekt bereitstellt. Benötigen Sie nun ein weiteres Objekt, das auf dem ersten Objekt aufbaut, aber weitere oder geänderte Eigenschaften und Methoden enthält, müssten Sie ohne Vererbung die gleiche Klasse nochmal erstellen und nach ihren Wünschen anpassen. Dank Vererbung brauchen Sie in der Klasse für das neue Objekt jedoch nur die Erweiterungen und Änderungen zu definieren. Den Rest verwenden Sie von der ersten Klasse – und brauchen eine Menge Code nur an einer Stelle zu warten.

Weiterlesen

Objektorientierte Programmierung: Grundlagen II

Im ersten Teil dieser Artikelreihe haben wir uns die Grundlagen zur objektorientierten Programmierung mit C# angesehen – zum Beispiel die Klasse Program, das Erstellen neuer Klassen, die Verwendung von Eigenschaften und von Methoden. Dies greifen wir im zweiten Teil auf und gehen auf verschiedene Arten der Eigenschaftsdefinition, Kontruktoren, aufgeteilte Klassen, Objektreferenzen, Überladung von Methoden und verschiedene Parameter-Techniken ein.

Weiterlesen

Daten im DataGrid-Steuerelement anzeigen I

In einem Access-Magazin würde man erstmal die Schaltfläche oder das Textfeld als Steuerelemente vorstellen. Im DATENBANKENTWICKLER wollen wir jedoch von mehreren Seiten an die Programmierung von Datenbank-Anwendungen mit Visual Studio herangehen – unter anderem, indem wir die Nutzung von ADO.NET vorstellen oder die Erstellung von Benutzeroberflächen mit WPF beschreiben. Für beides wollen wir überhaupt einmal die Daten der gewünschten Datenherkunft anzeigen, statt diese immer per Console auszugeben. Dies gelingt am einfachsten mit dem DataGrid-Steuerelement, das stark vereinfacht mit einem Unterformular unter Access in der Datenblattansicht zu vergleichen ist.

Weiterlesen