Titelleiste Ausblenden

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Gather.

    Titelleiste Ausblenden

    Hallo Comm,

    Vermutlich eine Dumme frage aber kennt wer eine Möglichkeit wie ich in einer Form mit FormBorderStyle = Sizable die Titelleiste komplett ausblenden kann?

    was ich bis jetzt versucht habe:

    VB.NET-Quellcode

    1. Me.Text = ""
    2. Me.ControlBox = False


    Ergebniss:


    Ist es möglich hier wie bei den Seiten auch nur einen 1px Strich hin zu bekommen?
    Danke schon mal im voraus

    LG Ruerte
    Dateien
    • testform.zip

      (11,8 kB, 134 mal heruntergeladen, zuletzt: )
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Kanst ne Form im BorderStyle = None machen und dann manuell die Features einer Sizabled Form einfügen.

    Edit://
    Wobei, wenn du den Rand dennoch haben möchtest, welcher Links und Rechts Standardmässig ist,
    sollte ControBox = False, sowie Text = String.Empty funktionieren.

    Im Anschluss musst du noch das WndProc überschreiben, damit du die Form noch bewegen kannst und tada fertig:

    VB.NET-Quellcode

    1. Private Const WM_NCHITTEST As Integer = &H84
    2. Private Const HTCLIENT As Integer = &H1
    3. Private Const HTCAPTION As Integer = &H2
    4. Protected Overrides Sub WndProc(ByRef message As Message)
    5. MyBase.WndProc(message)
    6. ' Allow Form moving G_
    7. If message.Msg = WM_NCHITTEST AndAlso CInt(message.Result) = HTCLIENT Then message.Result = New IntPtr(HTCAPTION)
    8. End Sub




    Edit 2:// So funktionierts auf jedenfall auf Windows 7 :)
    Dein Code funktioniert ebenfalls auf Windows 7, dürfte also ein Problem mit AERO bzw der Windowsversion sein, folglich würde ich doch zu meinem ersten Vorschlag zurückgreifen.

    Offtopic: In der MetroSuite hättest du genau so eine Form :)
    KOMPLETT NEU - MetroSuite 2.0 - Holt euch den modernen Windows 8 Style. [UPDATE 24.08.2017]
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


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

    Hallo @Gather,

    Das eigenen Bewegen der Form hab ich wie Folgt umgesetzt (so das Die Dock Funktion weiterhin gegeben ist)

    VB.NET-Quellcode

    1. Private Sub Panel5_MouseDown(sender As Object, e As MouseEventArgs) Handles Panel5.MouseDown
    2. ReleaseCapture()
    3. SendMessage(Me.Handle.ToInt32, WM_NCLBUTTONDOWN, HTCAPTION, 0)
    4. End Sub
    5. Private Declare Function ReleaseCapture Lib "user32" () As Integer
    6. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (
    7. ByVal hwnd As Integer,
    8. ByVal wMsg As Integer,
    9. ByVal wParam As Integer,
    10. ByRef lParam As Object) As Integer
    11. Private Const HTCAPTION As Short = 2
    12. Private Const WM_NCLBUTTONDOWN As Short = &HA1S
    13. Private Const WM_SYSCOMMAND As Short = &H112S


    Mein Problem ist das ich in der BorderStyle = None die Sizabled nicht Ordentlich genug eingebunden bekommen habe bzw. dann Windows + Pfeiltaste für das Docken selber zusammen basteln müsste ._.
    Sonst irgend eine Idee wie ich auf Win10 (wie in meinen Bild zu sehen) diesen doofen Dicken rand (der vermutlich an AERO leigt) weg bekomme?

    Offtopic: Ja aber in der MetroSuite müsste ich Dich erst fragen ob ich diese in mein Projekt direkt einbinden dürfte :/
    Zudem, funktioniert die Ordentlich mit den Dock / bzw. den resize?

    LG Ruerte
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Ruerte“ ()

    Ja ich denke aber das selber zusammenbasteln wird wohl der einzige weg hierbei sein..
    Selber einen Workaround basteln, der der Risizen mit den richtigen Cursorn erlaubt.

    Offtopic: Ja schaus dir einfach an, sollte genau das haben von dem du sprichst. Den Rand kannst du natürlich einfach entfernen (AccentColor ändern).
    Naja, aber wieso muss man unbedingt die .dll in die exe einbinden, sodass diese unsichtbar ist? Macht sonst ja auch sogut wie keine Anwendung :)
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Gather schrieb:

    Ja ich denke aber das selber zusammenbasteln wird wohl der einzige weg hierbei sein..
    Selber einen Workaround basteln, der der Risizen mit den richtigen Cursorn erlaubt.

    Muss ich mal rumbasteln... oder einfach damit Leben ^^

    Offtopic: ich finde es für Anwendungen die Portable sind immer sehr nervig wenn man darauf achten muss das man noch weitere Dateien hat, da finde ich eine .exe die ausreicht zum starten deutlich angenehmer ;)
    Unfortunately, this Signature is not available in Germany because it may contain music for which GEMA
    has not granted the respective music rights. Sorry about that.

    Google nach FormBorderStyle = None, Resize.
    Dann kommen vielversprechende Ergebnisse:
    stackoverflow.com/questions/25…e-a-form-without-a-border
    vbforums.com/showthread.php?57…h-FormBorderStyle-is-none
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!