Eigene Forms

Die Programmiersprache C# und Programmierung im .NET Framework/Mono
Antworten
xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Eigene Forms

Beitrag von xerion21 » Mi Mär 05, 2014 11:53 am

Hallo zusammen,

ich habe mir eine eigene Komponente erstellt, damit ich nicht alle Einstellungen immer wieder einzeln vornehmen muss.
Mir stellt sich die Frage, wo ich die jeweiligen Einstellungen eintragen soll.
Momentan sieht es so aus:

Code: Alles auswählen

 private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();

            // Allgemeine Einstellungen 
            this.MaximizeBox = false;
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
            
        }
Gibt es hier Verbesserungen?

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Eigene Forms

Beitrag von cloidnerux » Mi Mär 05, 2014 11:57 am

Du kommst da, soweit ich das sehe und in Erinnerung habe, nicht drum herum
Aber du solltest dir mal Design-Time Propertys anschauen:
http://msdn.microsoft.com/en-us/library/tk67c2t8.aspx
damit die Integration in VS besser klappt
Redundanz macht wiederholen unnötig.
quod erat expectandum

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: Eigene Forms

Beitrag von xerion21 » Mi Mär 05, 2014 12:20 pm

Wenn ich ein fertiges Form inklusive GUI vererbe, kann ich keine Eigenschaften von den Buttons etc mehr verändern?

Oder stell ich mich gerade nur doof an :D

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Eigene Forms

Beitrag von cloidnerux » Mi Mär 05, 2014 12:26 pm

Wenn ich ein fertiges Form inklusive GUI vererbe, kann ich keine Eigenschaften von den Buttons etc mehr verändern?
Wieso will man eine komplette Form vererben? Der Sinn erschließt sich mir nicht ganz.

Aber das Problem ist, dass deine Buttons innerhalb der Klasse als "private" gekennzeichnet sind, daher der Zugriff von außen nicht erlaubt ist. Das kann man ändern indem man sie auf protected(Zugriff bei Vererbung) oder Public setzt.
Redundanz macht wiederholen unnötig.
quod erat expectandum

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: Eigene Forms

Beitrag von xerion21 » Mi Mär 05, 2014 12:31 pm

Wieso will man eine komplette Form vererben? Der Sinn erschließt sich mir nicht ganz.
Ich benutzte die gleiche Form mit verschiedenen Funktionen. Also für verschiedene Datenbanken und somit eigene SQL-Befehle.

Aber das Problem ist, dass deine Buttons innerhalb der Klasse als "private" gekennzeichnet sind, daher der Zugriff von außen nicht erlaubt ist. Das kann man ändern indem man sie auf protected(Zugriff bei Vererbung) oder Public setzt.
Habe ich versucht, dennoch hat sich nichts daran geändert...

Benutzeravatar
oenone
Beiträge: 223
Registriert: Do Sep 01, 2011 2:42 pm
Wohnort: Bremen
Kontaktdaten:

Re: Eigene Forms

Beitrag von oenone » Mi Mär 05, 2014 1:42 pm

Wäre es nicht besser, wenn du GUI, Programmlogik und Daten trennst? Also MVC oder MVVM?

Warum sollte die Form (GUI) wissen, was für SQL-Befehle benutzt werden sollen?

Für mich ist GUI immer dumm, kann höchstens Eingabewerte validieren. Der Rest gehört da nicht rein.

PS: @cloidnerux, bei C# gibt es noch zusätzlich "internal" als Sichtbarkeitsmodifikator, entspricht etwa dem Java "protected". Das "protected" von C# ist eingeschränkter als das von Java.

xerion21
Beiträge: 162
Registriert: Mo Jul 08, 2013 3:37 pm

Re: Eigene Forms

Beitrag von xerion21 » Mi Mär 05, 2014 2:55 pm

meine Programmierlogik ist momentan getrennt.
Also meine GUI ist fertig, aber es sind noch keine Funktionen wie Buttons oder Eingabeverarbeitung realisiert.

Diese werden wohl in jeweils eine externe Klasse ausgeliefert.
Muss dann nur noch schauen, wie ich diese gescheit verbinde.

EDIT:
Macht es mehr Sinn, dass eine Klasse (z.B. NeuerSpieler ) eine Form aufruft, oder anders herum?
In der Klasse sollen dann die Daten gespeichert werden und überprüft werden.

Antworten