+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

[VB GDI+] Form Stile Tessera

  1. #1
    Post
    1,608
    Blogs
    33
    Like Inviati  
    0
    Like Ricevuti  
    0
    Mai avuto bisogno di una Form "particolare" ?

    Su altro Forum questa mia soluzione ha avuto un certo successo, perciò eccola anche qui, per chiunque fosse interessato :

     
    Public Class Form1
     
        Public Sub New()
            InitializeComponent()
            Disegna()
        End Sub
     
        'Selezione e mouse
        Private selezione As Boolean = False
        Private eXSel As Integer = 0
        Private eYSel As Integer = 0
     
        Private Sub Disegna()
            Dim rectArcoWidth As Integer = 60
            Dim rectArcoHeight As Integer = 60
            Dim contorno As New Drawing2D.GraphicsPath
            contorno.StartFigure()
            contorno.AddLine(CInt(rectArcoWidth / 2), 0, Me.Width - CInt(rectArcoWidth / 2), 0)
            contorno.AddArc(Me.Width - rectArcoWidth, 0, rectArcoWidth, rectArcoHeight, -90, 90)
            contorno.AddLine(Me.Width, CInt(rectArcoHeight / 2), Me.Width, Me.Height - CInt(rectArcoHeight / 2))
            contorno.AddArc(Me.Width - rectArcoWidth, Me.Height - rectArcoHeight, rectArcoWidth, rectArcoHeight, 0, 90)
            contorno.AddLine(Me.Width - CInt(rectArcoWidth / 2), Me.Height, CInt(rectArcoWidth / 2), Me.Height)
            contorno.AddArc(0, Me.Height - rectArcoHeight, rectArcoWidth, rectArcoHeight, 90, 90)
            contorno.AddLine(0, Me.Height - CInt(rectArcoHeight / 2), 0, CInt(rectArcoHeight / 2))
            contorno.AddArc(0, 0, rectArcoWidth, rectArcoHeight, 180, 90)
            contorno.CloseFigure()
            Dim R As Region = New Region(New Rectangle(0, 0, Me.Width, Me.Height))
            R.Intersect(contorno)
            Me.Region = R
        End Sub
     
        Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
            selezione = True
            eXSel = e.X
            eYSel = e.Y
        End Sub
     
        Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
            If Me.selezione = True Then
                Me.Left -= (Me.eXSel - e.X)
                Me.Top -= (Me.eYSel - e.Y)
            End If
        End Sub
     
        Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseUp
            Me.selezione = False
        End Sub
     
    End Class
    
    1. Posso ottenere archi di curvatura anche ellittici, giocando con i due valori rectArcoWidth e rectArcoHeight. Unico requisito è avere la Form con FormBorderStyle = None. Il resto lo fa tutto il codice.

    2. C'è già il codice per spostarla con il mouse.


  2. #2
    L'avatar di alextyx
    alextyx non è in linea Moderatore Globale
    Post
    2,600
    Like Inviati  
    0
    Like Ricevuti  
    0
    Grazie della disponibilità Marco, ma non sarebbe più utile metterla negli articoli o nei progetti?

    Anche da lì si può dare reputazione!
    ℹ️ Leggi di più su alextyx ...

  3. #3
    L'avatar di TheTruster
    TheTruster non è in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Post
    7,245
    Blogs
    3
    Like Inviati  
    19
    Like Ricevuti  
    13
    Quote Originariamente inviato da alextyx Visualizza il messaggio
    non sarebbe più utile metterla negli articoli o nei progetti?
    Concordo

    Sposto nel sotto-forum Visual Basic .Net Tutorials & How-To
    Ringrazio anche io Marco per il contributo.

    TheTruster
    ℹ️ Leggi di più su TheTruster ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Lettura tessera sanitaria
    Da Miciogatto nel forum C#
    Risposte: 3
    Ultimo Post: 27-02-2018, 16:08
  2. Articolo: [C# GDI+] Form Stile Tessera
    Da MarcoGG nel forum C#
    Risposte: 0
    Ultimo Post: 30-04-2010, 14:46
  3. Creare una Form stile Vista
    Da Asdomar123 nel forum Visual Basic .Net
    Risposte: 1
    Ultimo Post: 05-11-2009, 19:34
  4. [CSS]Stile link
    Da lucagalbu nel forum HTML, CSS e JavaScript
    Risposte: 2
    Ultimo Post: 11-05-2006, 16:50
  5. Tool Bar Stile MVB
    Da bornslippy nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 18-11-2004, 13:30