it-swarm.com.de

Das Designer-Ansichtsfenster kann nicht mit Windows Forms mit Visual Studio 2010 zurückgegeben werden

Ich schreibe gerade eine C # Windows Forms-Anwendung mit Visual Studio Express 2010 ENU SP1. Weitere VS-Besonderheiten finden Sie am Ende dieses Beitrags. Ich habe vor kurzem einige Änderungen in der Designeransicht des Layouts vorgenommen und entschied dann, dass ich die Änderungen nicht möchte, also habe ich das Designerfenster geschlossen. Das Codefenster war immer noch aktiv, als ich das Projekt geschlossen hatte, und die Änderungen wurden auf irgendeine Weise gespeichert. Ich interessiere mich nicht für die Änderungen, da das Layout leicht wiederhergestellt werden kann, abgesehen davon, dass ich keine Möglichkeit finde, das visuelle Designer-Fenster wieder zu öffnen. Um das Fenster zurückzubekommen, habe ich folgendes versucht:

Umschalt F7

Klicken Sie mit der rechten Maustaste in das Designer-Codefenster

Doppelklicken Sie auf die Designer-Datei unter dem Lösungs-Explorer

Wählen Sie die Designer-Datei im Lösungs-Explorer aus und rufen Sie die Datei über das Kontextmenü auf

Ich habe eine Evaluierungsversion des VS 2010-Teams, die bei Verwendung meines Projekts genau das gleiche Verhalten zeigt

Ich habe eine Sicherungskopie des Projekts versucht, aber in der Express- und der Teamversion wird dasselbe Problem angezeigt

Ich war überall im MSDN, im VS-Forum und im Internet im Allgemeinen und habe keine Lösungen gefunden

Beim ersten Start des Projekts habe ich die Datei Form1.cs im Projektmappen-Explorer umbenannt, weil ich einen anderen Namen als Form1 für die Anwendung haben wollte. Dabei wurde folgende Frage gestellt:

"Sie benennen eine Datei um. Möchten Sie in diesem Projekt alle Referenzen auf das Codeelement 'Projektname' umbenennen?

Ich antwortete ja. Jetzt habe ich keine Datei Form1.cs, sondern eine Datei mit meinem "Projektname.cs" und der Designer-Datei "Projektname.Design.cs". Dies ist die einzige Änderung, die ich vorgenommen habe, die ich mir vorstellen kann Ich habe versucht, es wieder in Form1.cs umzubenennen, aber das Problem wurde auch nicht behoben.

Ich muss sagen, dass ich mit Visual Studio noch nicht vertraut bin. Bisher mag ich es ziemlich viel, aber ich bin jetzt tot im Wasser und wenn ich das nicht lösen kann, werde ich zwei Wochen Arbeit verlieren. Jede Hilfe wäre sehr dankbar.

Danke, - Tom

Weitere Details:

Windows 7 Professional SP1 32-Bit x86

Microsoft Visual Studio 2010 Version 10.0.40219.1 SP1RelMicrosoft .NET Framework Version 4.0.30319 SP1Rel

Installierte Version: C # Express

Microsoft Visual C # 2010 01014-169-2560017-70726Microsoft Visual C # 2010

Microsoft Visual C # 2010 Express - ENU Service Pack 1 (KB983509) KB983509 Dieses Service Pack ist für Microsoft Visual C # 2010 Express - ENU . Wenn Sie später ein neueres Service Pack installieren, wird dieses Service Pack automatisch deinstalliert .

20
user1443434

Ich weiß, dass dies ein ziemlich alter Thread ist, aber in einem meiner Projekte in VS2010 war gerade etwas Ähnliches passiert. Das Formular konnte im Formular-Designer nicht bearbeitet werden.

Am Ende war es ein Problem in der .csproj-Datei. Es gibt eine Artikelgruppe, die angibt, was kompiliert wird. Innerhalb des Artikelgruppen-Tags für mein Formular hatte es ...

<Compile Include="AreaChart.cs" />

es brauchte ...

<Compile Include="AreaChart.cs">
  <SubType>Form</SubType>
</Compile>

Das SubType-XML-Tag fehlte. Ein kurzer Wechsel zur Projektdatei und ich konnte das Formular erneut bearbeiten.

42
threads

Nur noch eine Möglichkeit, den Formular-Designer zu vermasseln - ich hatte so etwas:

namespace MyProgram
{
    public struct SomeStruct {
        int a,b;
    }
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

Es stellt sich heraus, dass Sie die SomeStruct-Definition nicht dort ablegen können, obwohl alles gut funktioniert und keine Fehler aufgetreten sind. Nachdem ich es verschoben hatte, konnte ich die Designeransicht wieder sehen.

24
Amati

Es ist wieder ein alter Faden, aber das Interesse an Web zeigt, dass zahlreiche Menschen dieses Problem immer noch haben und es nicht gelöst wurde.

Ich verwende VS2012 und hatte das Problem, als ich ein Bibliothekssteuerelement kopierte, das 3 Formulare zur weiteren Entwicklung in eine separate Bibliothek erzeugt. Alle Steuerelemente in den Formularen werden perfekt angezeigt, wenn sie ausgeführt werden, der Designer jedoch ein leeres Formular.

Das Problem war nicht so wie oben (das war intakt), aber dank dieses Hinweises habe ich ein neues Formular hinzugefügt und die Einträge in der .csproj-Datei verglichen. Für jedes der kopierten Formulare wurde ein Eintrag ähnlich dem folgenden angezeigt:

<Compile Include="MyForm.Designer.cs" />

Was benötigt wurde war:

<Compile Include="MyForm.Designer.cs">
    <DependentUpon>MyForm.cs</DependentUpon>
</Compile>

Wenn Sie diese manuell für jedes Formular hinzufügen, wurde das Problem behoben.

15
David

Stellen Sie sicher, dass keine Klasse vor Ihrer Designer-Teilklasse deklariert ist. Die CS-Datei muss die partielle Designerklasse als erste Klasse in der Datei enthalten.

public partial class frmWidget : Form
{
}

public class SomeClass
{
}

Jetzt kann SomeClass nicht über der partiellen frmWidget-Klasse sein. Wenn Sie dies neu arrangieren, wird das Designer-Problem automatisch behoben, und Sie müssen VS nicht neu starten oder das Formular neu erstellen. Ich hoffe das hilft.

9
Vijay Bansal

Alle in dieser Frage genannten Vorschläge ausprobiert, nichts hat für Visual Studio Community 2017 funktioniert 

  • kein Shift-F7-Shotcut
  • kein Kontextmenüpunkt sichtbar
  • kein Doppelklick auf MainForm.cs
  • keine falsche Klassenreihenfolge in MainForm.cs
  • keine falschen Einträge in der Datei mysolutionname.csproj

Aber das hat für mich funktioniert

  1. Klicken Sie mit der rechten Maustaste auf Ihre MainForm.cs-Datei (oder "Form.cs", je nachdem, wie Sie sie benannt haben).
  2. 'Vom Projekt ausschließen'. Dadurch werden MainForm.cs , MainForm.Designer.cs und MainForm.resx vorübergehend entfernt.
  3. Verwenden Sie 'Hinzufügen »Vorhandenes Element und wählen Sie MainForm.cs. Dadurch werden alle drei Dateien wieder aufgenommen.
    Natürlich sollten Sie sie wieder in denselben Ordner wie zuvor einfügen
  4. Doppelklicken Sie auf MainForm.cs und die Design-Ansicht öffnet sich magisch
5
nixda

Ich hatte das gleiche Problem, aber bei VS2012 wurde meines durch das Ziehen und Ablegen einiger Formulare in verschiedene Ordner verursacht.

Davids Lösung war hilfreich, um das Problem zu beheben, ging aber nicht den ganzen Weg.

Wenn sich das Formular in einem Unterordner befindet, sollte die Zeile Compile Include folgendermaßen lauten:

<Compile Include="SubFolderName\MyForm.Designer.cs">
    <DependentUpon>MyForm.cs</DependentUpon>
</Compile>

Bitte beachten Sie, dass der Name des Unterordners in der ersten Zeile, nicht aber in der zweiten Zeile benötigt wird.

Ich musste auch die EmbeddedResource-Zeile weiter unten in der Datei ändern, um die Resx-Datei zu verknüpfen:

   <EmbeddedResource Include="SubFolderName\MyForm.resx">
        <DependentUpon>MyForm.cs</DependentUpon>
    </EmbeddedResource>

Beachten Sie wiederum, dass in der ersten Zeile der Unterordner erwähnt wird, während die zweite Zeile dies nicht tut.

3

Danke für die Gedanken. Ich habe jetzt sowohl die Express- als auch die Testversion der Team-Versionen von VS 2010 komplett neu installiert und funktioniert jetzt magisch. Ich habe keine Ahnung, was das Problem verursacht hat oder was behoben wurde, aber jetzt bin ich wieder auf Kurs. Ich hätte das wahrscheinlich tun sollen, bevor ich in diesem Forum nachfragen würde.

2
user1443434

Ich hatte das gleiche Problem mit VB. Danke für die Hinweise. Ich habe die gleichen Probleme in der .vbproj mit meinem UserControl gefunden.

Ich hatte dies in der .vbproj-Datei:

<Compile Include="AddCommunicationTask.vb" />

Und änderte es dazu:

<Compile Include="AddCommunicationTask.vb">
   <SubType>UserControl</SubType>
</Compile>

Beim Nachladen hatte ich immer noch Probleme und stellte fest, dass ich über der Formularklasse eine andere Klasse geschrieben hatte, die den Fehler verursachte. Die Formularklasse muss zuerst sein. Alles, was ich tun musste, war, meine Klasse nach unten zu verschieben und die Formularklasse zur ersten Klasse zu machen.

Ich hoffe, das hilft anderen - viel Glück!

p.s - Ich verwende vs Community 2015

2
Peter

Ich hatte ein ähnliches Problem, aber nicht dasselbe. 

Ich habe ein Formular von einem Projekt in ein anderes kopiert (mit Windows Explorer) und es dann dem neuen Projekt hinzugefügt, indem Sie mit der rechten Maustaste auf das Projekt in VS klicken und> Hinzufügen> Vorhandenes Element wählen. 

Mein Fehler war, alle drei Dateien für das Formular (.cs, .designer.cs und .resx) hinzuzufügen. Ich hätte nur die .cs-Datei hinzufügen sollen.

0
Mick

Obwohl dies ein ziemlich alter Thread ist, möchte ich meinen Fall und die Lösung mitteilen.

Ich hatte das gleiche Problem, aber ich habe die Telerik WinForms-Komponente für meine Form verwendet. Ich konnte den Designer erst sehen, wenn ich realisierte, dass die Entwurfszeitfunktionen von RadControls für WinForms in der Telerik.WinControls.UI.Design.dll-Assembly implementiert sind. Dann füge ich die Referenz hinzu und jetzt erscheint der Designer.

0
vaheeds

Ich habe versehentlich meine Form1-Datei [Design] gelöscht. Ein Doppelklick auf die Datei Form1.h hat nichts bewirkt. Das Programm lief und die Buttons TextBoxes and Labels waren alle da, nur dass kein Form1 [Design] zum Bearbeiten sichtbar war. Ich habe das Problem behoben. Wählen Sie unter: Header-Dateien Form1.h aus und gehen Sie zu Form1.H-Dateieigenschaften. In der Dropdown-Liste unter Dateityp in "C++ Form" ändern, wurde das Programm geschlossen und neu gestartet. Sie sollten jetzt in der Lage sein, doppelt auf Form1.h zu klicken und Ihr Form1 [Design] anzuzeigen.

0
user9372006

Ich weiß, dass dies ein wirklich alter Thread ist, aber ich hatte das gleiche Problem und es stellt sich heraus, dass es einen einen anderen Knoten gibt, der in der Csproj-Datei in die Irre gehen kann; Das Formular .resx hat einen EmbeddedResource-Knoten und bei meinem fehlte der Unterknoten-Designer. Dadurch konnte ich den Formularcode in der IDE erneut sehen.

0
Nick Alexander

Ich hatte das gleiche Problem und bekam das (Entwurfs-) Fenster zurück, indem Sie im Projektmappen-Explorer auf die Datei Form1.cs doppelklicken (nicht auf die Datei Form1.Designer.cs).

0
craigjb