Principales respuestas
Mover una imagen del centro a la esquina superior en vb.

Pregunta
-
Hola Colegas, Quería saber si es posible llevar a cabo la siguiente idea:
Tengo un form y en el, tengo dos Picturebox:
Picturebox1 carga un logotipo (imagen) ubicados en el centro,
Picturebox2 queda en espera.....
tango también un timer para controlar el tiempo.
Al iniciar el form se muestra el Picturebox1 al centro del fromulario, mientras el Picturebox2 esta oculta
Bueno en el form tengo un código, que me mide el tiempo de inactividad y cuando llega al máximo que a manera de prueba le he puesto 5 segundo quiero que el picturebox1 se mueva del centro a la esquina superior y una vez que llegue a la esquina que se quede ahi y que se muestre el picturebox2 el cual comenzara a cargar unas imágenes automáticamente y cuando ocurra una actividad que este proceso se revierta al contrario, es decir, que el picturebox2 se desaparezca y que el picturebox1 se mueva a su punto de origen que es el centro del form.
Nota: Cuando el picturebox1 se mueva hacia la esquina superior que a la vez vaya disminuyendo su tamaño de igual forma al volver a su punto de origen que vaya aumentando su tamaño de manera que quede igual que empezó.
dibuje un ejemplo sencillo de la forma en la que deseo se mueva el picturebox1 :
Bueno ahí les muestro el sentido en el que se estaría moviendo el picturebox1, prácticamente el movimiento del picturebox1 es lo que me hace falta por que el resto ya lo tengo..A continuación les muestro el código que tengo hasta este momento...
Un saludo y muchas gracias de antemano.
Imports System Imports System.Drawing Imports System.Windows.Forms Imports System.Drawing.Drawing2D Imports System.Drawing.Text Imports System.Runtime.InteropServices Public Class LogoEmpresa Const TextTimerInterval As Integer = 15 Protected currentGradientShift As Integer = 10 Protected gradiantStep As Integer = 5 <DllImport("User32.dll")> Private Shared Function GetLastInputInfo(ByRef lii As LASTINPUTINFO) As Boolean End Function Structure LASTINPUTINFO Public cbSize As Integer Public dwTime As Integer End Structure Private Input As New LASTINPUTINFO() Private Sub TimerOnTick(sender As Object, e As EventArgs) GetLastInputInfo(Input) Dim total As Integer = Environment.TickCount Dim ultimo As Integer = Input.dwTime Dim intervalo As Integer = (total - ultimo) \ 1000 If intervalo = 0 Then Me.PictureBox2.Visible = False Me.pictureBox1.Visible = True Else For intervalo = 3 To intervalo Me.pictureBox1.Visible = False Me.PictureBox2.Visible = True Me.PictureBox2.Dock = DockStyle.Fill Me.PictureBox2.SizeMode = PictureBoxSizeMode.Zoom Dim numeroImagenes As Integer Dim aleatorio As Integer Dim ficheros As String() = System.IO.Directory.GetFiles("C:\Users\Desarrollo\Desktop\My projects vb 2017\ProyectoAlmacenStarOn24_10_2018\ImagenesSistemas", "*.png") numeroImagenes = ficheros.Length aleatorio = New Random().Next(0, numeroImagenes) Me.PictureBox2.ImageLocation = ficheros(aleatorio) Next End If End Sub Private Sub LogoEmpresa_Load(sender As Object, e As EventArgs) Handles MyBase.Load Input.cbSize = Marshal.SizeOf(Input) AddHandler Timer1.Tick, AddressOf TimerOnTick Timer1.Interval = 1000 Timer1.Start() Me.PictureBox2.Visible = False pictureBox1.Location = New Point((Me.Width / 2) + (pictureBox1.Width / 2), (Me.Height / 2) - (pictureBox1.Height / 2)) ' pictureBox1.Location = New Point((My.Forms.LogoEmpresa.Panelcaja.Width / 2) - (pictureBox1.Width / 2), (My.Forms.LogoEmpresa.Panelcaja.Height / 2) - (pictureBox1.Height / 2)) ''Dim ancho As Int32 = (Me.Width - pictureBox1.Width) / 2 ''Me.pictureBox1.Location = New Point(ancho, pictureBox1.Location.Y) End Sub End Class
- Editado Reynaldo Sanchez martes, 11 de diciembre de 2018 21:41
Respuestas
-
Hola Reynaldo Sanchez
Gracias por levantar tu consulta en los foros de MSDN. Con respecto a la misma, te comento que estaremos realizando una revisión a profundidad acerca del inconveniente que se te está presentando.
Proporcionaremos una respuesta lo más pronto posible.
Gracias por usar los foros de MSDN.
Pedro Alfaro
____
Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.
Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.- Marcado como respuesta Pedro AlfaroModerator miércoles, 16 de enero de 2019 19:52