none
Eigenes Form Design aber Wie? RRS feed

  • Frage

  • Hi ich bin neu in C# und möchte mir gerne ein eigenes Form Design anlegen:

    Damit meine ich das meine Form so aussehen soll und nicht wie die Standart vorlage:

    Wie kann ich sowas machen ?

    Bitte genau beschreiben am besten mit deutschen links damit ich es verstehe.

    (Bisher habe ich mit einer software den kompleten windows Stile verändert somit sind alle Forms so wie sie da ausehen.)

     

    Freue Mich auf Hilfe

    MFG. Neo

    Sonntag, 30. Oktober 2011 11:54

Antworten

  • Hallo Neo,

    das ist nicht so einfach (und in deutsch wirst Du da wenig finden).

    Den Bereich, den Du verändern willst, ist die NonClient Area und wird normalerweise durch Windows
    selbst verwaltet / gezeichnet - und eine Anpassung geschieht üblicherweise durch das Windows Design.
    Das man - in Grenzen - personalisieren kann, zum einen über die Systemsteuerung -> Design
    oder auch Personalisieren Sie Ihren PC

    Um das Zeichnen für einzelne Fenster (Formulare) zu überschreiben müsste man ziemlich tief in die Windows-Kiste greifen.
    In aktuellen Versionen, kommt noch der Desktop Windows Manager hinzu, der für die teilweise durchsichtige Aero Oberfläche verantwortlich ist.

    Deswegen beschränkt man sich i. a. auf solche Änderungen wie z. B. zusätzliche Schaltlächen,
    wie es Office aber auch die aktuellen Browser tun:
    http://www.codeproject.com/KB/dialog/AeroNonClientAreaButtons.aspx

    Wenn Du am Anfang steht, solltest Du Dir leichter realisierbares vornehmen.

    Gruß Elmar

    Sonntag, 30. Oktober 2011 17:46
    Beantworter
  • Java ist ein extrem komplexes System mit Funktionen und Klassen, die den umständlichen zugriff auf den Rahmen ermöglichen vereinfachen.
    Javaprogramme brauchen aber immer Java um gestartet werden zu können, das brauchen C#-Programme nicht, die sind maximal von .Net usw. abhängig. Das dürfte schonmal erklären wieso das in Java vielleicht einfacher geht als in C#.

    Ich habe mal den Windowsrahmen in C++ (MFC) überschrieben, erlich gesagt: "Es war sinnlos" nachdem ich alles wieder entfernt habe ging mein Programm viel schneller, als mit eigenem Rahmen. Außerdem war es ziehmlich umständlich, eh überhaupt was gezeichnet wrden konnte.


    VisualCPlusPlus
    Sonntag, 30. Oktober 2011 22:21
  • Schau dir mal folgende Bibliothek an:

    http://customerborderform.codeplex.com/

     

    Montag, 31. Oktober 2011 08:31
  • Hallo Neo,

     

    wenn du mit WPF arbeitest kannst du die Window Style eigenschaft des Fensters auf None festlegen, dann zeichnet Windows gar kein Fenster, das bleibt dir dann komplett überlassen. Alle Steuerelemente werden allerdings normal gezeichnet.

    Du musst also "nur" dafür sorgen, dass dein Fensterlayout gezeichnet wird (bspw. einfach ein Image nehmen in dem sich dein Fensterlayout befindet). Allerdings musst du dann auch dafür sorgen, dass etwaige Schaltflächen zum Minimieren, Maximieren und schließen angezeigt werden.

    Hier gibt es ein Sample dazu:

    http://msdn.microsoft.com/de-de/library/ms748948(VS.85).aspx

    Ganz unten auf der Seite unter Non-Rectangular Window Style. Da gibts aucvh noch andere Sachen zum aussehen deines Fensters, ist aber leider in Englisch.

     

    Hoffe das hilft dir

    User XXX

    Freitag, 4. November 2011 20:34

Alle Antworten

  • Hallo Neo,

    das ist nicht so einfach (und in deutsch wirst Du da wenig finden).

    Den Bereich, den Du verändern willst, ist die NonClient Area und wird normalerweise durch Windows
    selbst verwaltet / gezeichnet - und eine Anpassung geschieht üblicherweise durch das Windows Design.
    Das man - in Grenzen - personalisieren kann, zum einen über die Systemsteuerung -> Design
    oder auch Personalisieren Sie Ihren PC

    Um das Zeichnen für einzelne Fenster (Formulare) zu überschreiben müsste man ziemlich tief in die Windows-Kiste greifen.
    In aktuellen Versionen, kommt noch der Desktop Windows Manager hinzu, der für die teilweise durchsichtige Aero Oberfläche verantwortlich ist.

    Deswegen beschränkt man sich i. a. auf solche Änderungen wie z. B. zusätzliche Schaltlächen,
    wie es Office aber auch die aktuellen Browser tun:
    http://www.codeproject.com/KB/dialog/AeroNonClientAreaButtons.aspx

    Wenn Du am Anfang steht, solltest Du Dir leichter realisierbares vornehmen.

    Gruß Elmar

    Sonntag, 30. Oktober 2011 17:46
    Beantworter
  • Mit Java geht das ganze doch auch also müste es doch möglich sein oder?
    Sonntag, 30. Oktober 2011 19:12
  • Java ist ein extrem komplexes System mit Funktionen und Klassen, die den umständlichen zugriff auf den Rahmen ermöglichen vereinfachen.
    Javaprogramme brauchen aber immer Java um gestartet werden zu können, das brauchen C#-Programme nicht, die sind maximal von .Net usw. abhängig. Das dürfte schonmal erklären wieso das in Java vielleicht einfacher geht als in C#.

    Ich habe mal den Windowsrahmen in C++ (MFC) überschrieben, erlich gesagt: "Es war sinnlos" nachdem ich alles wieder entfernt habe ging mein Programm viel schneller, als mit eigenem Rahmen. Außerdem war es ziehmlich umständlich, eh überhaupt was gezeichnet wrden konnte.


    VisualCPlusPlus
    Sonntag, 30. Oktober 2011 22:21
  • Schau dir mal folgende Bibliothek an:

    http://customerborderform.codeplex.com/

     

    Montag, 31. Oktober 2011 08:31
  • Hallo Neo,

     

    wenn du mit WPF arbeitest kannst du die Window Style eigenschaft des Fensters auf None festlegen, dann zeichnet Windows gar kein Fenster, das bleibt dir dann komplett überlassen. Alle Steuerelemente werden allerdings normal gezeichnet.

    Du musst also "nur" dafür sorgen, dass dein Fensterlayout gezeichnet wird (bspw. einfach ein Image nehmen in dem sich dein Fensterlayout befindet). Allerdings musst du dann auch dafür sorgen, dass etwaige Schaltflächen zum Minimieren, Maximieren und schließen angezeigt werden.

    Hier gibt es ein Sample dazu:

    http://msdn.microsoft.com/de-de/library/ms748948(VS.85).aspx

    Ganz unten auf der Seite unter Non-Rectangular Window Style. Da gibts aucvh noch andere Sachen zum aussehen deines Fensters, ist aber leider in Englisch.

     

    Hoffe das hilft dir

    User XXX

    Freitag, 4. November 2011 20:34
  • Hallo LegendNeo,

    Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Donnerstag, 10. November 2011 09:00
    Moderator