2016-12-15 4 views
-1

Das neuere Simple Multi-User TCP/IP Client & Server using TAP Beispiel durch das Genie Reed Kimble, wenn in VS 2015 Gemeinschaft geöffnet, zeigt Blanko-Formulare für Client und Server:Dieses VS-Beispielprojekt zeigt leere Formulare im Designer an, warum?

Blank designer form...

Was ich meine ist, die Formular-Designer für beide leer Formen zeigen Der Steuerelementerstellungscode ist jedoch in den .vb-Dateien vorhanden, was zu einer funktionsfähigen Assembly führt, ohne dass das Formular neu gestaltet werden kann. (In jeder grafischen Weise sowieso.)

enter image description here

gegoogelt dieses "Problem" für mehr als einige Stunden. Anscheinend ist das ziemlich häufig. Ich fand heraus, dass es oft wegen einer gebrochenen .vbproj Datei ist:

<Compile Include="Form1.vb"> 
    <SubType>Form</SubType> 
</Compile> 
<Compile Include="Form1.Designer.vb"> 
    <DependentUpon>Form1.vb</DependentUpon> '<-- this is often missing! 
</Compile> 

ich alle .vbproj Dateien überprüft und diese alle richtig erscheinen. Es gibt keine Fehler beim Laden oder Erstellen von Projekten. Hat jemand eine Ahnung was sonst würde dieses Verhalten verursachen?

+1

Ich habe den Form1-Designer-Code überprüft und es wurden keine Komponenten darin erstellt. Sie sind nur leere Formulare. Ist das tatsächlich ein Problem oder erwarten Sie nur Textboxen, die nie existiert haben? Können Sie Screenshots von dem, was Sie sehen, bereitstellen? –

+2

Wenn die Steuerelemente zur Laufzeit hinzugefügt werden, werden sie nicht im Visual Studio-Designer angezeigt. Ihr Screenshot zeigt Code, wo die Steuerelemente hinzugefügt werden. Welche Methode ist das? – ChrisF

+1

Genau das, was @ChrisF gesagt hat. Sie müssen das Formular selbst entwerfen und dann den Code entfernen, der dem Formular die Steuerelemente hinzufügt, oder alle Änderungen in diesem Code vornehmen. Aber ich stimme zu, dies mit der Begründung zu beenden, dass es kein tatsächliches Problem gibt. –

Antwort

1

Wenn in der Datei .desginer keine Komponenten erstellt werden, kann Visual Studio immer nur ein leeres Formular anzeigen.

Es sieht so aus, als ob alle Steuerelemente erstellt und zur Laufzeit auf dem Formular platziert werden - über den Code im Ereignishandler FormLoad. Deshalb sehen Sie die Formen in ihrer ganzen Pracht, wenn der Code tatsächlich ausgeführt wird.

Beide Lösungen sind gleichermaßen gültige Ansätze, die für Sie arbeiten wird davon abhängen, was Sie tun können. Wenn Sie, wie Sie sagen, das Design des Formulars schnell und einfach ändern können, müssen Sie den Code aus dem FormLoad Event-Handler entfernen und den entsprechenden Code in die .designer-Datei einfügen. Sie können dies möglicherweise tun, indem Sie einfach den Code kopieren, aber es ist wahrscheinlich sicherer, von vorne anzufangen, indem Sie Komponenten aus der Toolbox auf das Formular ziehen.

Verwandte Themen