Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    31

    [VB.Net] Dare una forma personalizzata alla form

    salve, il titolo parla da se ^^
    premetto che ho provato ad usare altri tipi di programmi esterni, ma non compatibili con vb .net, (salvavano in .frm)
    grazie anticipatamente

  2. #2
    Colora il tuo form di un colore particolare (impostando la proprietà BackColor, ad esempio, a Magenta) e imposta la proprietà TransparencyKey a questo stesso colore. Imposta anche la proprietà FormBorderStyle a None, quindi aggiungi i tuoi controlli. Inserisci quindi nell'evento Form_Paint il codice per il disegno della forma che dovrà avere il tuo form (che ovviamente dovrà avere un colore differente da quello del form).
    Ecco ad esempio il codice per disegnare un ellissi delle dimensioni del form:
    codice:
        Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
            Dim gr As Graphics = e.Graphics
            gr.FillEllipse(New SolidBrush(Color.LightGray), 0, 0, Me.Width, Me.Height)
            gr.DrawEllipse(New Pen(Color.Black), 0, 0, Me.Width, Me.Height)
            gr.Dispose()
        End Sub
    .
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    31
    mittico :P grazie mille

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    31
    rieccomi asd, l'unica cosa è che nn riesco a spostarla come una normale form

  5. #5
    Aggiungi il seguente codice per poter muovere il form trascinandolo con il mouse:
    codice:
        Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
            Const WM_NCHITTEST As Integer = &H84
            Const HTCLIENT As Integer = 1
            Const HTCAPTION As Integer = 2
            MyBase.WndProc(m)
            If m.Msg = WM_NCHITTEST And m.Result.ToInt32 = HTCLIENT Then
                m.Result = New IntPtr(HTCAPTION)
            End If
        End Sub
    .
    Esso fa credere al form che quando fai click sulla sua area client tu stia facendo click sulla sua barra del titolo.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    31
    ti dispiacerebbe rispiegarmi un po come fare per il trascinamento? non funziona

  7. #7
    Con il codice che ti ho dato è possibile trascinare il form "prendendolo" per un qualunque punto non coperto da altri controlli...
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    31
    allora, ti spiego... vorrei applicare il trascinamento in una picturebox in modo da spostare tutta la form, sorry per l'ignoranza xD

  9. #9
    Diventa un casino della miseria... a cosa ti serve la PictureBox?
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    31
    mh beh tramite la picturebox apro il file png, in modo da dare la forma alla form; mettendo frameborder None alla form nn so dove mettere quel codice che mi hai dato

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.