Form sizable senza titlebar

di piter123 il
5 risposte

Buongiorno

avrei bisogno di aprire una Form senza la titlebar ma che sia comunque sizable. 

Non devo solo togliere il controlbox=false, ma eliminare anche la titleBar (formborderstyle=none) e comunque la form deve poter essere sizable

Immagino si possa fare usando un codice Api, gentilmente lo potete postare

Grazie mille

5 Risposte

  • Sembra funzionare abbastanza bene.

    il cuore di tutto è 

    Public Sub New()
       InitializeComponent()
       Me.SetStyle(ControlStyles.ResizeRedraw, True) ' this is to avoid visual artifacts
    End Sub

    Private Const cGrip As Integer = 1 '16
    Private Const cCaption As Integer = 62

    Protected Overrides Sub WndProc(ByRef m As Message)
       If m.Msg = &H84 Then
           Dim pos As Point = New Point(m.LParam.ToInt32())
           pos = Me.PointToClient(pos)
           If pos.Y < cCaption Then
               m.Result = CType(2, IntPtr)
               Return
           End If

           If pos.X >= Me.ClientSize.Width - cGrip AndAlso pos.Y >= Me.ClientSize.Height - cGrip Then
               m.Result = CType(17, IntPtr)
               Return
           End If
       End If
       MyBase.WndProc(m)
    End Sub

  • Nella prima risposta, nel codice c'è 

    this.FormBorderStyle = FormBorderStyle.None;

    che è quello di cui parli. O no?

  • Ciao, ho modificato il post

    facendo un merge fra quello che mi hai inviato tu (Grazie Mille) e qualche modifica che spiegavano il funzionamento.

    Ora proverò a migliorarlo inserendo una specie di StatusTrip (la quale mi blocca il resize) con un Panel

    Grazie ancora

  • Ho provato con impostando la form con ismdicontainer=true e purtroppo non funziona

Devi accedere o registrarti per scrivere nel forum
5 risposte