none
¿Como puedo mover el PictureBox mostrado? RRS feed

  • Pregunta

  • Buen día como pudiera hacer para poder mover un picturebox generado mediante un proceso en tiempo de ejecución.

    Comparto el código fuente de mi creación donde utilizo una conexión con mi base de datos en SQL Server  con entity framework y utilizando procesos almacenados.

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Sistema_Monitoreo
    {
        public partial class frmUpdateUbicacion : Form
        {
    		AdminDispositivosEntities m_db = new AdminDispositivosEntities();
    
    		public frmUpdateUbicacion()
            {
                InitializeComponent();
    		}
    
    		private void dibujaAntenas()
    		{
    			try
    			{
    				var cords = m_db.getCoordAntenas();
    
    				foreach (getCoordAntenas_Result coord in cords)
    				{
    					PictureBox imagen = new PictureBox();
    					imagen.Image = Properties.Resources.antena2;
    					imagen.Height = 35;
    					imagen.Width = 25;
    					imagen.Location = new Point(Convert.ToInt32(coord.Coord_X) - imagen.Width / 2, Convert.ToInt32(coord.Coord_Y) - imagen.Height / 2);
    					imagen.SizeMode = PictureBoxSizeMode.StretchImage;
    					imagen.Parent = mapa;
    					mapa.Refresh();
    				}
    
    				var cord = m_db.getCoordEqASP();
    
    				foreach (getCoordEqASP_Result coord in cord)
    				{
    					PictureBox imagen = new PictureBox();
    					imagen.Image = Properties.Resources.black_server_icon32;
    					imagen.Height = 25;
    					imagen.Width = 25;
    					imagen.Location = new Point(Convert.ToInt32(coord.Coord_x) - imagen.Width / 2, Convert.ToInt32(coord.Coord_y) - imagen.Height / 2);
    					imagen.SizeMode = PictureBoxSizeMode.StretchImage;
    					imagen.Parent = mapa;
    					mapa.Refresh();
    				}
    			}
    			catch (Exception ex)
    			{
    				MessageBox.Show(ex.Message);
    			}
    		}
    
    		private void frmUpdateUbicacion_Load(object sender, EventArgs e)
    		{
    			dibujaAntenas();
    		}
    	}
    }
    
    Comparto la vista de mi aplicación generada. 

    Espero contar con su apoyo, se los agradecería mucho ya que tengo poca experiencia pero todo se puede en los sistemas.

    Saludos y gracias. 


    JavierLg12

    jueves, 5 de diciembre de 2019 22:41

Todas las respuestas

  • Hola Programador semi-jr

    Para cambiar la ubicación o locación de cualquier control Windows Forms, podes utilizar su propiedad Location.

    pictureBox1.Location = new Point(x, y);

    x e y son las coordenadas del Form o del contenedor en el que se encuentre el PictureBox

    Saludos

    Pablo

    viernes, 6 de diciembre de 2019 1:02
  • Deleted
    viernes, 6 de diciembre de 2019 13:44
  • hola

    >>como pudiera hacer para poder mover un picturebox generado mediante un proceso en tiempo de ejecución.

    no entiendo porque preguntas esto si ya conoces la respuesta, es mas la estas mostrando en el codigo cuando usas

    imagen.Location = new Point(Convert.ToInt32(coord.Coord_X) - imagen.Width / 2, Convert.ToInt32(coord.Coord_Y) - imagen.Height / 2);

    al asignar el Location defines la posicion del control en la ventana

    Pero ojo que la imagen que representa el mapa deberia ocuptar toda la pantalla

    Pero basicamente lo que preguntas ya sabes como lograrlo, no entiendo cual seria el problema?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 6 de diciembre de 2019 20:04