[UPDATE 20.10.2020] - MetroSuite 2.0 - Holt euch den modernen Windows 10 Style.

    • Release
    • Closed Source

    Es gibt 1.336 Antworten in diesem Thema. Der letzte Beitrag () ist von AKP.

      Damit ich euch ein bisschen up2date halte mit meinem Development.
      Die MetroMessageBox ist sogut wie fertig.


      @AKP
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Was mir noch aufgefallen ist:

      Bei der Metroform mit Autoscroll=True erscheinen beim Scrollen die Border-Linien sowie das Icon samt Text auf fast der ganzen Form. Erst ein Klick ausserhalb der Form lässt das Ganze wieder verschwinden. Bei DrawBorders = False erscheinen die Linien natürlich nicht, jedoch das Form-Icon samt Text.

      Lässt sich das irgendwie korrigieren?
      Bilder
      • Image2.jpg

        51,16 kB, 303×522, 121 mal angesehen
      @AKP danke ist mir bis dato noch nicht aufgefallen. Ist schon behoben und kommt mit dem nächsten Update.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      @Gather
      Ich hätte da noch einen Vorschlag für ein neues Control. Undzwar die MetroScrollBar. Die standard ScrollBar von Windows sieht nämlich meh aus.
      Mit der MetroScrollBar könntest du dann die standard ScrollBar auf der MetroForm zu der neuen ersetzen. :thumbup:
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!
      @ClonkAndre das kommt sowieso, allerdings bin ich mir noch nicht sicher ob es diese Version ist. Habe nämlich etwas Größeres geplant, und das benötigt etwas Zeit.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      - Update auf 2.0.2.1
      • Added new dialog: MetroMessagebox (check below for more info). (thanks @AKP)
      • Added new component: MetroAlert (check below for more info). (thanks @xored , @ClonkAndre)
      • Fixed AutoStyle property to work recursivly with all MetroControls.
      • Implemented SetImageOpacity to Design.Drawing class.
      • Implemented FindAllChildren function to Design.Controls class.
      • Implemented MetroForm DrawGradientBorder & GradientBrush (both not browsable) properties.
      • Implemented MetroForm AllowMoving property.
      • Implemented MetroForm IsOnTop function.
      • Added new Extension module (WinFormControlExtensions) to Modules namespace.
      • Fixed MetroForm AutoScroll redraw bug. (thanks @'AKP)
      • Removed automatic adapting of rounding arc from MetroButton.


      .Extensions - Update auf 1.0.1.5
      • Added new .DLL-File to collection: MetroSuite.Extensions.GChartLib (style-support for old versions of Gathers Charts)
        (check GChartLib - Präsentiert Daten auf eine neue moderne Art! for info)
      • Added new control: Controls.MetroTag (check below for more info).
      • Updated compatibility with MetroSuite 2.0.2.1

      (Beispiel UI welches ausschließlich mit der MetroSuite erstellt wurde.)



      MetroMessageBox
      Wie gewünscht wurde mit Version 2.0.2.1 das Dialogfenster MetroMessagebox hinzugefügt.
      Um eine MetroMessageBox anzuzeigen muss sie zuerst mittels Dim msg as New MetroSuite.MetroMessageBox erzeugt werden.
      Anschließend kann sie einfach mit msg.Show() (Methode überladen) angezeigt werden.
      Sie bietet viele Anpassungsmöglichkeiten, welche bei der Standardvariante von Windows nicht vorhanden sind.

      Klassendiagramm


      Screenshots


      MetroAlert
      Ebenfalls auf Wunsch wurde eine Meldungsbox (MetroAlert) zur MetroSuite hinzugefügt.
      Sie ist eine Komponente und kann mittels .Show() (Methode überladen) eine Meldungsbox an der geünschten Position einblenden (animiert).
      Mittels der Eigenschaft HookToContainer bleibt das MetroAlert immer proportional zu seinem Container positioniert, auch wenn dieser bewegt wird.

      Klassendiagramm


      Screenshots


      MetroTag (MetroSuite.Extensions.Control)
      Das MetroTag ist prinzipiell ein einfaches Steuerelement zum Anzeigen von kurzen Texten.
      Es wurde in die MetroSuite.Extensions-Library ausgelagert. Zu sehen ist es auf dem ersten Screenshot in diesem Post (New Feature).


      Zum Abschluss...
      Bitte beachten Sie, dass dieses Update zu Testzwecken veröffentlicht wurde.
      Ich bin in nächster Zeit (2 Wochen) beruflich beschäftigt. Sollten Sie Fehler entdecken, bitte ich Sie
      diese hier im Forum zu melden. Ich werde sie so schnell wie möglich nach meiner Rückkehr versuchen zu beheben!

      (Der 1. Post wird vermutlich erst nach diesen zwei Wochen angepasst werden)



      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Es ist echt unglaublich wie schnell du Dinge umsetzen kannst!
      Ich bin erstaunt!

      Super Update :thumbsup:

      // Edit
      @Gather Ich muss leider ein Bug mit der AlertBox melden.
      Leider bleibt die AlertBox auf einer Stelle obwohl HookToContainer aktiviert ist. (Und leider kann diese auch die Form verlassen wie im Bild gezeigt)
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ClonkAndre“ () aus folgendem Grund: Bug entdeckt

      Dieser "Fehler" tritt mit dem Resizen auf oder?
      Edit:// @ClonkAndre du kannst außerdem bei .Show die Location der Box angeben.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gather“ ()

      @Gather Jop dies tritt beim resizen auf. Ich hab auch schon versucht die Position manuell zusetzen, hat aber auch nicht geholfen.
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!
      Ja problem ist. Das ist sowohl ein Feature als auch ein Bug. Ich überleg mir was, aber da muss ich mich mal mathematisch (Positionsberechnung in relation auf dem fenster) ausleben.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Du könntest ja eine Position Property einbauen. Dann könnte man selber die AlertBox in der unteren Mitte der Form halten (oder halt da wo man möchte).
      Ich denke mit solch Property könnte man diesen "Bug" erstmal gut umgehen.
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!
      Allerdings funktioniert dass so auch nicht. Da du mehrere (mehr oder weniger unendlich viele) AlertBoxen mittels einer MetroAlertBox Komponente erstellen kannst.
      Ich lass mir da was einfallen, allerdings wird das leider dauern. Bis dahin ist es leider während dem Resizen nicht möglich. (Vll kommt noch ein "soft-fix" heute der das Ganze auf eine andere Art "umgeht")
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Stimmt, daran habe ich nicht gedacht.
      Jo, lass dir da ruig Zeit muss ja nicht direkt jetzt sein.
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!
      Bei der Messagebox scheint es irgendein Problem mit dem Messagetext zu geben. Manchmal werden die letzten Worte oder Buchstaben abgeschnitten. z.B.:

      VB.NET-Quellcode

      1. Dim msg As New MetroSuite.MetroMessageBox
      2. msg.Show("Hallo Alle", "Titel", MetroSuite.MetroMessageBox.MetroMessageBoxIcon.Alert, vbOKCancel)
      Bilder
      • Unbenannt-1.gif

        2,24 kB, 240×104, 1.338 mal angesehen
      Stimmt, oder wenn es ein ganz langer Text ist wird dieser auch abgeschnitten aber die MessageBox wird trotzdem größer.
      Und der blaue Rahmen wird auch von etwas abgeschnitten bei einem langem Text.
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!
      @ClonkAndre @AKP sollte beides schnell gefixt worden sein. Für das MetroAlert gibt es jetzt die Eigenschaft HookPosition (Enum), dies umgeht vorerst das Problem solange ich das Anders behoben habe (sofern man keine Eigene Position angibt, will man dies muss man HookPosition auf Custom festlegen).
      Das mit der Messagebox sollte nun ebenfalls passen. Ich bitte um weitere Tests!


      Edit:// uups hab die testversion aus versehen hochgeladen. Jetzt ist der Fix wirklich oben.
      Mfg: Gather
      Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gather“ ()

      Vorschläge und Fehler

      Hi @Gather,
      ich hätte da noch einen kleinen Vorschlag für das MetroPanelCategory Control. Und zwar könnte man dieses ja auch noch eine MouseOver und MouseLeave Animation verpassen. Sprich, dass wenn
      man mit der Maus über das Control fährt, das dann die Hintergrundfarbe zu der ausgewählten farbe fadet (Natürlich kann der Benutzer selber entscheiden ob er diese haben möchte oder nicht). Am besten sieht das aus wenn
      man die Appearance Property auf Rounded setzt.
      Ich habe hier mal ein kleines Beispiel gemacht wie es aussehen könnte:


      // Edit
      Und noch ein Vorschlag für das MetroPanelCategory Control: Ich denke es wäre besser wenn man die Linie auf allen Seiten setzen könnte anstatt nur links und oben.

      // Edit 2 :!:
      Ich habe einen kleinen "Bug" beim MetroAnimator entdeckt. Und zwar wird die Property Speed beim debuggen immer auf 21 gesetzt.
      Ich setzte sie über das Eigenschaftsfenster in Visual Studio.

      // Edit 3 :!:
      Fehler beim Platzieren des MetroTabControlVS auf UserControls. (Auf Formen funktioniert das Control einwandfrei)
      Exception:


      Fehler beim hinzufügen eines UserControls auf einer Form wenn dieses ein MetroTabControl beinhaltet.
      Exception:
      Spoiler anzeigen

      System.ArgumentOutOfRangeException
      HResult=0x80131502
      Nachricht = InvalidArgument=Value mit dem Wert -1 ist für index ungültig.
      Parametername: index
      Quelle = System.Windows.Forms
      Stapelüberwachung:
      bei System.Windows.Forms.TabControl.GetTabRect(Int32 index)
      bei MetroSuite.MetroTabControl.OnPaint(PaintEventArgs e)
      bei System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs e, Int16 layer)
      bei System.Windows.Forms.Control.WmPaint(Message& m)
      bei System.Windows.Forms.Control.WndProc(Message& m)
      bei System.Windows.Forms.TabControl.WndProc(Message& m)
      bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
      bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
      bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

      Diese Ausnahme wurde ursprünglich von dieser Aufrufliste ausgelöst:
      [Externer Code]
      Wenn ich dir auf irgendeiner Art und Weise helfen konnte, drück doch bitte den "Hilfreich" Button :thumbup:

      Für VB.NET Entwickler: Option Strict On nicht vergessen!

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „ClonkAndre“ ()