Cómo mover formularios sin bordes con VB.Net

formularios sin bordes en VB

Introducción

Hola, ahora veremos como crear un formulario sin bordes, ¿Por qué? 🤔, es muy lógica la respuesta, a los usuarios les gusta cada vez más los diseños modernos, he decidido empezar con esto, sobre todo porque le dará un mejor resultado a todos lo que hagamos. Además, nos será muy útil para las siguientes prácticas.

Agregaremos dos botones extras, la de salir y minimizar. Por tanto, si decidimos quitar los bordes que trae por defecto nuestros formularios nos quitarán esas funciones. Sobre todo, aprenderemos lo más básico en programación con Visual Basic .Net.

En primer lugar, creamos un nuevo proyecto y le asignamos un nombre, yo le pondré “visual basic”, le damos clic en “Aceptar”, muy bien, es momento de jugar con las propiedades de nuestro Formulario.

Diseño del formulario:

✔A nuestro Windows Form en la propiedad FormBorderStyle le cambiaremos de Sizable a None.

✔En segundo lugar, para que al momento de iniciar el programa, la pantalla nos aparesca en el centro, le cambiaremos la posición de inicio, por defecto lo trae como “WindowsDefaultLocation” y nosotros elegiremos “CenterScreen”.

✔Agregaremos un panel, en este caso será la de Guna, cambiamos el color, ustedes pueden eligir el que más les guste, yo lo dejaré en Azul, lo pueden hacer en el apartado de Apariencia y seleccionar “BackColor”.

✔Agregamos dos botones para cerrar y minimizar el formulario, recuerden hacerlo con Guna, de la misma manera, ustedes le pueden asignar el color que más les agrade, pero en este caso será con la propiedad FillColor.

✔A los botones le asignaremos un nombre, está será la que distinguirá a cada elemento de nuestro formulario y recuerden que no pueden tener dos elementos con los mismos nombres, yo al botón de salir le pondré “btnSalir” y el de minimizar lo dejaré como “Guna2Button1”, esto lo hago con la finalidad de que entiendan que es mejor asignarles un nombre a nuestros controles, ya que podremos tener confusiones al momento de querer programarlos, esto es solo una recomendación.

✔En la propiedad “Texto” de nuestros botones le pondremos “X” para el de salir y el signo “” para el de minimizar, podemos cambiar el tamaño y tipo de letra de nuestros botones con la propiedad “Font”.

Captura de pantalla 515 1024x576 1

Programación de los elementos:

✔Empezaremos declarando tres variables, la primera será de tipo boleano, la iniciamos en “False”, ustedes pueden colocarle el nombre que más les guste, yo le pondré “valor”.

✔Después creamos las dos últimas de tipo entero, como ejemplo yo le he asignado a “moux” y “mouy” como una variable entera.

✔programamos el botón de salir o cerrar la ventana.

✔Posteriormente programamos el botón de minimizar ventana.

✔Ahora toca hacer que nuestra ventana se pueda mover cuando nosotros pongamos el mouse sobre ella, eso será lo último  que haremos.

VB .NET

Public Class Form1
    Dim valor As Boolean = False
    Dim moux As Integer
    Dim mouy As Integer
    Private Sub btnSalir_Click(sender As Object, e As EventArgs) Handles btnSalir.Click
        Me.Close()
    End Sub
    Private Sub Guna2Button1_Click(sender As Object, e As EventArgs) Handles Guna2Button1.Click
        Me.WindowState = FormWindowState.Minimized
    End Sub
    Private Sub Guna2Panel1_MouseDown(sender As Object, e As MouseEventArgs) Handles Guna2Panel1.MouseDown
        valor = True
        moux = Cursor.Position.X - Me.Left
        mouy = Cursor.Position.Y - Me.Top
    End Sub
    Private Sub Guna2Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles Guna2Panel1.MouseMove
        If valor = True Then
            Me.Top = Cursor.Position.Y - mouy
            Me.Left = Cursor.Position.X - moux
        End If
    End Sub
    Private Sub Guna2Panel1_MouseUp(sender As Object, e As MouseEventArgs) Handles Guna2Panel1.MouseUp
        valor = False
    End Sub
    Private Sub Guna2Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Guna2Panel1.Paint
    End Sub
End Class
Recommend0 Recomendaciones

Artículos relacionados

Respuestas

¿Por qué registrarme?