Autor Beitrag
hui1991
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Fr 03.04.09 09:58 
Hallo,

ich hab ein Problem mit meinem Formular.

Ich hab ein Forumular, diese wird aber immer anders angezeigt. Die Eigenschaften (Also: Enabled, Location, Size, Visible, Dock) sind bei jeder Ansicht gleich.
Gibt es eine gute Lösung um bei einem Formular zu bleiben und trotzdem die Eigenschaften gesetzt zu haben?
Ich hab bis jetzt das so gemacht ich hab mir mit einer Funktion die ganzen Eigenschaften ausgeben lassen und in den Code kopiert.
Wenn ich da jetzt eine Kleinigkeit ändern will muss ich alles von vorne machen.
Gibt es im Microsoft Visual Studio 2005 eine Möglichkeit dies besser zu designen?

In moment lasse ich InitializeComponent() drüber laufen lassen und dann meine Funktionen aufrufen.


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (.NET) verschoben am Fr 03.04.2009 um 09:59
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 03.04.09 10:10 
Mir ist nicht ganz klar, was du vorhast. Heißt "verschiedene Ansichten" verschiedene Layouts mit verschiedenen Controls? Die Eigenschaften der Form selbst sollen allerdings immer gleich sein? Dann könntest du die in einer leeren Form-Basisklasse setzen und alle Ansichten über "New Item -> Inherited Form" davon ableiten.

_________________
>λ=
hui1991 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 433

Windows XP, WIndows Vista
Turbo Delphi Explorer| Delphi, PHP,Blitzbasic
BeitragVerfasst: Fr 03.04.09 11:52 
Also okay.
Ich hab ein Formular und es soll nicht immer jedes angezeigt werden, da dies bei den ganzen Controls sehr viel Tipparbeit und Zeit kosten würde, hab ich eine Funktion geschrieben der mir solch einen Code erstellt:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
private void ShowNeuErfassen()
        {
            groupBox1.Visible = (true && (groupBox1.Visible));
            groupBox1.Enabled = (true && (groupBox1.Enabled));
            textBox1.Visible = (true && (textBox1.Visible));
            textBox1.Enabled = (true && (textBox1.Enabled));
            button8.Visible = (true && (button8.Visible));
            button8.Enabled = (true && (button8.Enabled));
            panel4.Visible = (true && (panel4.Visible));
            panel4.Enabled = (true && (panel4.Enabled));
            ...
            label4.Visible = false;
            label4.Enabled = (true && (label4.Enabled));
            checkBox1.Visible = false;
            checkBox1.Enabled = (true && (checkBox1.Enabled));
            panel7.Visible = (true && (panel7.Visible));
            panel7.Enabled = (true && (panel7.Enabled));
            label37.Visible = (true && (label37.Visible));
            label37.Enabled = (true && (label37.Enabled));

            label37.Text = "Erfassung von (0 auf 11)";
        }


Das gefällt mir aber so nicht wirklich, da ich daran schlecht Änderungen vornehmen kann.

Ich dachte es gibt eine Möglichkeit die mit einem Designer in Visual Studio 2005 zu erstellen.
Also mit
ausblenden C#-Quelltext
1:
public partial class Form2 : Form1					

funktioniert es doch, hab nur bei
ausblenden C#-Quelltext
1:
public Form2():base()					

das Base vergessen, trotzdem bleibt das problem, das die Eigenschaften im Designer gesperrt sind.
Also kann ich damit nichts anfangen.

Und wie das mit "geerbtes Formular" bei Rechtsklick auf Projekt -> Hinzufügen -> Element funktioniert, weiß ich auch nicht.


//Edit:Ich habe mir jetzt [url=msdn.microsoft.com/d...2.aspx]Exemplarische Vorgehensweise: Demonstrieren der visuellen Vererbung[url] angesehen und auch probiert. Naja immerhin weiß ich jetzt wie man ein Formular als DLL speichert.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Fr 03.04.09 15:38 
user profile iconhui1991 hat folgendes geschrieben Zum zitierten Posting springen:
Ich hab ein Formular und es soll nicht immer jedes angezeigt werden
Ähm, aha :gruebel: .
Wenn du den gesamten Inhalt eines Formulars austauschen willst, solltest du dir einmal User Controls anschauen. Das sind quasi Sub-Formulare, die aber kein eigenes Fenster besitzen, sondern wie jedes andere Control in eine Form eingefügt werden können.

_________________
>λ=