Autor Beitrag
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 20.12.05 19:58 
Hallo!

Seit VS2005 bzw. der Express-Varianten davon wird der Code des Formdesigners für ein Formular in eine Partial Class ausgelagert, welche im Solution Explorer dem Formular untergeordnet angezeigt wird. (Wer's hat weiß, was ich meine ;-)).

Nun soll mein Formular ein ziemlich großes Interface implementieren und die Implementation stört mich irgendwie in der "normalen" Datei. Also möchte ich einen weiteren Teil der Klasse in eine neue Datei auslagern. Ist auch kein Problem, wird anstandslos kompiliert.

Nur leider wird die neue Partial Class nicht dem Formular untergeordnet angezeigt, sondern erscheint als neues (leeres) Formular. Wie kann ich erreichen, dass auch dieser Teil der Formular-Klasse nicht als eigenständiges Formular, sondern als Teil des bestehenden Formulars angezeigt wird?

Oder kürzer: Ich will, dass meine neue Datei mit Namen "mainform.Interface.cs" sich genauso verhält wie die Datei "mainform.Designer.cs".

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: Di 20.12.05 22:57 
user profile iconChristian S. hat folgendes geschrieben:
Nun soll mein Formular ein ziemlich großes Interface implementieren und die Implementation stört mich irgendwie in der "normalen" Datei. Also möchte ich einen weiteren Teil der Klasse in eine neue Datei auslagern. Ist auch kein Problem, wird anstandslos kompiliert.
Mache ich auch immer so um Spielchen wie IComponent oder INotifyPropertyChange, etc implementieren.
ausblenden C#-Quelltext
1:
2:
3:
4:
public partial class Miep 
{}
public partial class Miep : IComponent
{}

sehr nett das Ganze :)

Zitat:
Nur leider wird die neue Partial Class nicht dem Formular untergeordnet angezeigt, sondern erscheint als neues (leeres) Formular. Wie kann ich erreichen, dass auch dieser Teil der Formular-Klasse nicht als eigenständiges Formular, sondern als Teil des bestehenden Formulars angezeigt wird?
Hmm.. das macht mein VS von alleine...
Das geht auch zu Fuss, wenn du die Projektdatei editierst und deine Datei in Abhängigkeit zur Hauptdatei machst.
Christian S. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Di 20.12.05 23:03 
user profile iconRobert_G hat folgendes geschrieben:
Hmm.. das macht mein VS von alleine...
Wie gehst Du beim Erstellen des neuen "Teils" vor?

user profile iconRobert_G hat folgendes geschrieben:
Das geht auch zu Fuss, wenn du die Projektdatei editierst und deine Datei in Abhängigkeit zur Hauptdatei machst.
Okay, das geht. Wäre trotzdem gut zu wissen, wie man's bequem macht. :-)

//edit: Für alle, die das Problem auch haben, hier eine kurze Anleitung:

Die "eigentliche" Form-Datei heisse mainform.cs, die Datei mit dem neuen Teil heisse mainform.Interface.cs. Dann öffnet man die entsprechende .csproj-Datei des Projektes mit einem beliebigen Editor. Bei obigen Dateinamen sucht man dann nach dem Tag
ausblenden Quelltext
1:
2:
3:
<Compile Include="mainform.Interface.cs">
...
</Compile>

In diesen Tag trägt man ein:
ausblenden Quelltext
1:
2:
3:
4:
<Compile Include="mainform.Interface.cs">
  <DependentUpon>mainform.cs</DependentUpon>
...
</Compile>

Fertig!

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".