Título: Cambiar imagen de from
Publicado por: Tomas1982 en 10 Enero 2017, 17:34 pm
Alguien me pudiera ayudar en como pudiera cambiar la imagen de fondo de mi from al hacer clip en el. Este es el código que tengo. Public Class Form1 Dim MOVIENDO As Boolean = False Dim IMAGEN As Image Dim MIX As Integer Dim MIY As Integer Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load IMAGEN = Me.BackgroundImage PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO End Sub Public Sub PINTA() Me.Opacity = 0 'FORM TRANSPARENTE Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE 'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height) Dim DIBUJO As Graphics = Graphics.FromImage(BMP) DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size) 'AÑADE NUESTRA IMAGEN AL FONDO DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height) Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL. End Sub Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) 'MEMORIZA LA POSICION DE LA ETIQUETA MIX = MousePosition.X - Me.Location.X MIY = MousePosition.Y - Me.Location.Y Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM MOVIENDO = True 'INICIA EL MOVIMIENTO End Sub
Saludos
Título: Re: Cambiar imagen de from
Publicado por: Lekim en 11 Enero 2017, 13:28 pm
¿Qué quieres hacer?
¿cual es el problema?
S2s
Título: Re: Cambiar imagen de from
Publicado por: Tomas1982 en 11 Enero 2017, 17:29 pm
Estoy tratando de hacer un pequeño programa que me inicie con el sistema y que me inhabilite la escritura a la memoria que para poder escribir en ella tenga que desbloquearla. La idea era poner una imagen que me indicara el estado de bloqueo y que al darle clip a la imagen se desbloqueara y me cambiara de imagen, pero buscando alternativas lo solucione con un Picturebox el cual me indica el estado como dije antes y a su ves me bloqueara y desbloqueara la escritura en memoria. Ahora resulta que tengo otro problema cambio las propiedades en el registro pero no me bloquea la escritura. Aquí les dejo el código para que me lo revisen y me digan que estoy haciendo mal. Saludo i gracias. Imports Microsoft.Win32 Public Class Form1 Dim MOVIENDO As Boolean = False Dim IMAGEN As Image Dim MIX As Integer Dim MIY As Integer Dim valor As Integer = 0 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Me.Location = New Point(1750, 900) IMAGEN = Me.BackgroundImage PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO End Sub Public Sub PINTA() Me.Opacity = 0 'FORM TRANSPARENTE Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE 'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height) Dim DIBUJO As Graphics = Graphics.FromImage(BMP) DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size) 'AÑADE NUESTRA IMAGEN AL FONDO DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height) Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL. End Sub Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseDown 'MEMORIZA LA POSICION DE LA ETIQUETA MIX = MousePosition.X - Me.Location.X MIY = MousePosition.Y - Me.Location.Y Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM MOVIENDO = True 'INICIA EL MOVIMIENTO End Sub Private Sub LabelMOVER_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseMove If MOVIENDO = True Then Me.Location = New Point(MousePosition.X - MIX, MousePosition.Y - MIY) 'MUEVE EL FORM SEGUN EL CAMBIO DE POSICION DE LA ETIQUETA End If End Sub Private Sub LabelMOVER_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseUp PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO MOVIENDO = False 'FINALIZA EL MOVIMIENTO End Sub Private Sub LabelCERRAR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelCERRAR1.Click Me.Close() End Sub Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click If valor = 0 Then PictureBox1.Image = My.Resources.Cerrado Dim root As RegistryHive = RegistryHive.LocalMachine Dim subkey As String = "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies" Dim value As String = "WriteProtect" Dim data As String = "1" Using key As RegistryKey = RegistryKey.OpenBaseKey(root, RegistryView.Registry64) key.CreateSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree). SetValue(value, data, RegistryValueKind.String) End Using valor = 1 Else PictureBox1.Image = My.Resources.Open Dim root As RegistryHive = RegistryHive.LocalMachine Dim subkey As String = "SYSTEM\CurrentControlSet\Control\StorageDevicePolicies" Dim value As String = "WriteProtect" Dim data As String = "0" Using key As RegistryKey = RegistryKey.OpenBaseKey(root, RegistryView.Registry64) key.CreateSubKey(subkey, RegistryKeyPermissionCheck.ReadWriteSubTree). SetValue(value, data, RegistryValueKind.String) End Using valor = 0 End If End Sub Private Sub PictureBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover PictureBox1.Size = New Size(Width:=52, Height:=46) End Sub Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave PictureBox1.Size = New Size(Width:=41, Height:=36) End Sub End Class
Título: Re: Cambiar imagen de from
Publicado por: Tomas1982 en 11 Enero 2017, 17:39 pm
Ya solucione el problema, el código me queda de esta manera. Imports Microsoft.Win32 Public Class Form1 Dim MOVIENDO As Boolean = False Dim IMAGEN As Image Dim MIX As Integer Dim MIY As Integer Dim valor As Integer = 0 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Me.Location = New Point(1750, 900) IMAGEN = Me.BackgroundImage PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO End Sub Public Sub PINTA() Me.Opacity = 0 'FORM TRANSPARENTE Threading.Thread.Sleep(100) 'PARA ASEGURAR QUE SEA TRANSPARENTE 'CREA UNA IMAGEN DE LO QUE HAY DEBAJO DEL FORM COMO FONDO Dim BMP As Bitmap = New Bitmap(IMAGEN.Width, IMAGEN.Height) Dim DIBUJO As Graphics = Graphics.FromImage(BMP) DIBUJO.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size) 'AÑADE NUESTRA IMAGEN AL FONDO DIBUJO.DrawImage(IMAGEN, 0, 0, BMP.Width, BMP.Height) Me.BackgroundImage = BMP 'PONE EL MONTAJE COMO IMAGEN DEL FORM Me.Opacity = 1 'DEVUELVE LA OPACIDAD NORMAL. End Sub Private Sub LabelMOVER_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseDown 'MEMORIZA LA POSICION DE LA ETIQUETA MIX = MousePosition.X - Me.Location.X MIY = MousePosition.Y - Me.Location.Y Me.BackgroundImage = IMAGEN 'ELIMINA EL FONDO DE LA IMAGEN Me.Opacity = 0.1 'PARA QUE SE VEA MENOS EL RECTANGULO DEL FORM MOVIENDO = True 'INICIA EL MOVIMIENTO End Sub Private Sub LabelMOVER_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseMove If MOVIENDO = True Then Me.Location = New Point(MousePosition.X - MIX, MousePosition.Y - MIY) 'MUEVE EL FORM SEGUN EL CAMBIO DE POSICION DE LA ETIQUETA End If End Sub Private Sub LabelMOVER_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles LabelMOVER.MouseUp PINTA() 'COMENTARIOS EN EL PROCEDIMIENTO MOVIENDO = False 'FINALIZA EL MOVIMIENTO End Sub Private Sub LabelCERRAR1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelCERRAR1.Click Me.Close() End Sub Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click If valor = 0 Then PictureBox1.Image = My.Resources.Cerrado Dim ClaveRaíz As RegistryHive = RegistryHive.LocalMachine ' HKEY_LOCAL_MACHINE ' Crea un puntero de clave de Registro para HKEY_LOCAL_MACHINE en la máquina actual Dim Clave = RegistryKey.OpenRemoteBaseKey(ClaveRaíz, Environment.MachineName) '<-- Para x64 ' Crea las claves y valores en la localización especificada Using key As RegistryKey = Clave.CreateSubKey("SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\", RegistryKeyPermissionCheck.ReadWriteSubTree) key.SetValue("WriteProtect", 1, RegistryValueKind.DWord) 'Valor DWORD End Using valor = 1 Else PictureBox1.Image = My.Resources.Open Dim ClaveRaíz As RegistryHive = RegistryHive.LocalMachine ' HKEY_LOCAL_MACHINE ' Crea un puntero de clave de Registro para HKEY_LOCAL_MACHINE en la máquina actual Dim Clave = RegistryKey.OpenRemoteBaseKey(ClaveRaíz, Environment.MachineName) '<-- Para x64 ' Crea las claves y valores en la localización especificada Using key As RegistryKey = Clave.CreateSubKey("SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\", RegistryKeyPermissionCheck.ReadWriteSubTree) key.SetValue("WriteProtect", 0, RegistryValueKind.DWord) 'Valor DWORD End Using valor = 0 End If End Sub Private Sub PictureBox1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover PictureBox1.Size = New Size(Width:=52, Height:=46) End Sub Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave PictureBox1.Size = New Size(Width:=41, Height:=36) End Sub End Class
|