Entwickler-Ecke
C# - Die Sprache - Form*.cs nur für Eingabe
grisu2611 - Do 04.10.07 13:16
Titel: Form*.cs nur für Eingabe
Hallo....
ich möchte gerne meine Eingaben nur in der in dem Fenster, was ich erstelle machen (Form1.cs) und mein Programm in Programm.cs schreiben.
Kann ich das über arrays erreichen oder geht das gar nicht?
Vielen Dank für eurer Hilfe im vorraus
Gruß Frank
Christian S. - Do 04.10.07 14:14
Ich glaube, Dein Beitrag hat verschiedene Forumlierungsfrakturen erlitten. ;-) Ich hab auf jeden Fall nicht wirklich verstanden, was Du machen willst ;-)
JüTho - Do 04.10.07 14:18
Hallo,
Arrays haben hinsichtlich der Konzeption von Formularen oder Anwendungen keinerlei Bedeutung. Sie dienen nur dazu, gleichartige Variablen innerhalb einer Klasse unter einem gemeinsamen Namen zusammenzufassen und per Index zuzugreifen.
Die Zusammenarbeit zwischen Program.cs und Form1.cs und anderen Quelldateien musst Du grundsätzlich planen: je umfangreicher die Funktionalität sein soll, desto mehr Klassen werden verwendet. (Und auch Formulare sind Klassen...)
Empfehlung:
- Program.cs enthält (wie von der Vorlage, die Du vermutlich verwendest, vorgesehen) nur den eigentlichen Programmstart. In bestimmten Situationen - SplashScreen, LoginForm u.a. - wird das komplexer, aber soweit solltest Du noch nicht denken.
- Das Formular beschränkt sich möglichst auf die Interaktion mit dem Benutzer.
- Weitere Funktionalität - Stichwort Geschäftslogik/Business Logic - gehört in weitere Klassen, z.B. der Datenaustausch zwischen DataGridView und Datenbanken.
Am Anfang kannst Du die "Geschäftslogik" noch direkt im Formular verarbeiten; aber Du solltest im Hinterkopf haben, das baldmöglichst zu trennen.
Viel Erfolg! Jürgen
grisu2611 - Do 04.10.07 14:53
ja ich glaube so geht es den meisten die das gelesen haben.....*sorry*
Also mache vorgaben in Form1.cs mit txtBox..usw danach wird der Button gedrückt und alles rattert los im Hintergrund!
Meine Überlegung jetzt das alles zu trennen, weil ich auch noch zwei Messkarten Konfigurieren muss! Zur Zeit läuft das alles in Form1.cs ab unter der Aktion des Klicks auf den Button!
Hoffe hiermit habe ich etwas mehr ausgesagt! Nochmals sorry für die erste dürftige aussage!
gruß Frank
JüTho - Do 04.10.07 15:44
Das klingt sehr danach, dass von Anfang an die eigentliche Bearbeitung in "Klassen der Geschäftslogik" ausgelagert werden sollte. Schau dir ergänzend dazu die BackgroundWorker-Klasse an... Jürgen
PS. Es hat schon seinen Sinn, warum ich auf sauberes Deutsch Wert lege: Grammatik, Wortwahl und Satzstellung, dazu Rechtschreibung und Zeichensetzung. Man erleichtert dem Lesenden ungemein das Verständnis. :wink:
Christian S. - Do 04.10.07 15:46
Hallo!
Jürgen hat das schon ganz gut zusammen gefasst. Ich mache es meistens so, dass, wenn ich eine Idee habe, in "Ausprobier"-Phase noch nicht so auf die Trennung achte.
Wenn ich dann sehe, dass die Idee was bringt und umsetzbar ist, dann fange ich rigoros an, GUI und Logik zu trennen, die Logik vollständig in Klassen zu strukturieren und auszulagern. Meist packe ich die Logik dann direkt in eigene Bibliothek, sodass ich sie mit verschiedenen GUIs verwenden kann.
Grüße
Christian
grisu2611 - Do 04.10.07 16:00
Ja danke bis jetzt....
so wahrscheinlich ein weiter Fehler von mir! Habe euch nicht gesagt das ich mit C#Express programmiere!
Habe irgendwie schon mal gehört da kann ich keine Klassen bilden! Richtig? Wenn ja wie mache ich es dann?
Christian S. - Do 04.10.07 16:04
Hallo!
Klassen kannst Du in jeder VS-Edition hinzufügen (hab's gerade nur auf Englisch):
Rechtsklick auf Dein Projekt -> Add -> New Item -> Class
Für weitere Fragen zum VS muss ich Dich aber bitten, ein neues Topic zu erstellen, weil das mit der ursprünglichen Frage dann nichts mehr zu tun hat. Danke! :)
Grüße
Christian
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!