Autor |
Beitrag |
naeschd
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 00:14
Hallo ich habe ein großes Problem....
Ich mache mein Projekt auf und mein Form (der Entwurf) ist auf einmal leer!!!! Wie wenn ich ein neues Projekt anfangen würde. Der Code usw. ist aber alles noch da und Fehler treten auch keine auf, nur dass ich mein Form keine Inhalte hat...
Habe nichts am Code geändert was dies hätte vorrufen können. Habt ihr eine Idee wie ich das wieder in den Griff bekomme? Wäre euch sehr denkbar!
Matze
|
|
Kha
      
Beiträge: 3803
Erhaltene Danke: 176
Arch Linux
Python, C, C++ (vim)
|
Verfasst: Do 04.03.10 00:52
Was steht denn in der .designer.cs, ist die auch noch vorhanden?
_________________ >λ=
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Do 04.03.10 09:28
Hallo,
hast du vlt. den Constructor geändert? Dort muss bei einer Form die Funktion InitializeComponent aufgerufen werden, ansonsten werden die Controls nicht geladen.
Gruß Daniel
|
|
naeschd 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 09:51
Nein ich habe den Constructor nicht geändert... Hier mal der Constructor... (cs, 44.76 KB)
Hab ziemlich viel drin... Weiß nicht obs weiterhilft. Aber sollte doch eigentlich passen oder?
Moderiert von Christian S.: 800 Zeilen Quelltext als Anhang eingefügt
Einloggen, um Attachments anzusehen!
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: Do 04.03.10 09:56
Das, was du zitiert hast, ist nicht der Konstruktor. Der steht in MyForm.cs und sieht als Minimalversion so aus:
C#-Quelltext 1: 2: 3: 4:
| public MyForm() { InitializeComponent(); } |
Darauf bezog sich Daniel. Jürgen
|
|
naeschd 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 09:58
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: Do 04.03.10 10:07
Das bedeutet, du erzeugst vom Hauptfenster aus ein weiteres Fenster und zeigst das sofort an? Das nehme ich nach der Variablen FensterCal an.
Nimm das mal raus und verlagere es nach Form.Load oder Form.Shown. Der Designer benutzt zum Aufbau genau denselben Code wie du zur Verarbeitung. Es ist denkbar, dass er durch das zweite Fenster völlig durcheinandergebracht wird.
Die anderen Maßnahmen beeinflussen zwar auch die Gestaltung des Formulars, aber das sind vermutlich alles zulässige Verfahren.
Gruß Jürgen
PS. Bezeichner wie Label23 oder PictureBox_123 gehören verboten, siehe .NET Richtlinien für Namen.
|
|
naeschd 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 10:10
Habs rausgenommen (war eigentlich noch ein alter Codeschnippsel)... Leider keine Änderung! Hat ja davor aber auch mit dem Codeschnippsel schon funktioniert...
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Do 04.03.10 10:53
Wenn du auf die Methode InitalizeComponent gehst und F12 drückst, kommst du zu deren Implementierung.
Schau mal ob das funktioniert und es dort "gut" aussieht.
|
|
naeschd 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 10:57
Dann komme ich genau dahin was im 4. Post steht... Ob das gut oder schlecht aussieht kann ich leider nicht beurteilen. Dazu bin ich no zu sehr Laie (leider)...
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Do 04.03.10 11:16
Okay, das sieht "gut" aus. Dann sind die Bedingungen soweit in Ordnung. Im Designer siehst du die Element noch? Erst zur Ausführung nicht mehr? Korrekt?
|
|
naeschd 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 11:19
Also ich sehe schon im Entwurf (also bei der Registerkarte "Hauptfenster.cs [Entwurf]") nix mehr... Und auch wenn ich das Programm ausführe auch nicht. Das heißt ich kann meine Steuerelemente während des Programmierens (wenn das Programm nicht läuft) nicht sehen! Da sieht die Windowsoberfläche so aus, als währe ein neues Projekt gerade begonnen worden...
Thx für deine Hilfe!
|
|
danielf
      
Beiträge: 1012
Erhaltene Danke: 24
Windows XP
C#, Visual Studio
|
Verfasst: Do 04.03.10 11:30
Kannst du mal probeweise deinen Konstruktor wie folgt reduzieren und schauen ob es dann funktioniert...
C#-Quelltext 1: 2: 3: 4:
| public Hauptfenster() { InitializeComponent(); } |
|
|
naeschd 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 04.03.10 11:32
Muss dich leider enttäuschen... Bleibt alles unverändert... 
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: Do 04.03.10 13:09
Solche Zeilen fehlen:
C#-Quelltext 1:
| this.Controls.Add(...); |
Erst dadurch werden die ganzen Controls dem Fenster zugeordnet. Das musst du handschriftlich hinzufügen für alle Controls der obersten Ebene (Panels, ToolStrip u.ä.). Ich habe jetzt nicht kontrolliert, ob die entsprechenden Anweisungen für alle Panels usw. vorhanden sind; aber diese fehlen jedenfalls nicht immer.
Wie diese Anweisungen verschwinden können, ist mir freilich schleierhaft. Ich könnte mir allenfalls vorstellen, dass verschiedene Controls aus einem Control in ein anderes verschoben werden sollte und dadurch nicht an der richtigen Stelle landeten.
Gruß Jürgen
|
|