我有一個問題。添加事件mouseDown和mouseMove到我自己的類
我需要添加一個MouseDown事件到我自己的類(Unidad.cs),但我不知道該怎麼做。我有一個擴展從pictureBox的類,我需要一個MouseDown和MouseMove事件來移動pictureBox,我該怎麼做?而且...它始終是確切的pictureBox?我的意思是,我將有20個(例如)「Unidad」對象,並且我只想移動用鼠標單擊的Unidad對象。
我的類:
public class Unidad : PictureBox
{
//Constructor
public Unidad(string nombre, string tipo, int movimiento, int ha, int hp, int fuerza, int resistencia, int heridas, int iniciativa, int ataques, int liderazgo, int coste, string rutaImagen)
{
tipoUnidad = tipo;
movimientoUnidad = movimiento;
nombreUnidad = nombre;
costeUnidad = coste;
haUnidad = ha;
hpUnidad = hp;
fuerzaUnidad = fuerza;
resistenciaUnidad = resistencia;
iniciativaUnidad = iniciativa;
ataquesUnidad = ataques;
liderazgoUnidad = liderazgo;
object O = Resources.ResourceManager.GetObject(rutaImagen);
dibujoUnidad = new PictureBox();
dibujoUnidad.SizeMode = PictureBoxSizeMode.StretchImage;
dibujoUnidad.ClientSize = new Size(145, 67);
dibujoUnidad.Image = (Image)O;
}
//Propiedades
public string nombreUnidad { get; set; }
public string tipoUnidad { get; set; }
public int movimientoUnidad { get; set; }
public int costeUnidad { get; set; }
public int haUnidad { get; set; }
public int hpUnidad { get; set; }
public int fuerzaUnidad { get; set; }
public int resistenciaUnidad { get; set; }
public int heridasUnidad { get; set; }
public int iniciativaUnidad { get; set; }
public int ataquesUnidad { get; set; }
public int liderazgoUnidad { get; set; }
public PictureBox dibujoUnidad { get; set; }
//Método para dibujar unidad
public void Colocar(Point p, Control control, Image imagen)
{
using (Graphics g = control.CreateGraphics())
{
using (Pen pen = new Pen(Color.Red, 2))
{
g.DrawImage(imagen, p);
}
}
}
}
謝謝!
編輯1:
我可以在我的「Unidad.cs」結束與做:
public void Colocar(Control control, Unidad unidad, Point p)//(Point p, Control control, Image imagen)
{
control.Controls.Add(unidad);
}
protected override void OnMouseDown(MouseEventArgs e)
{
//Do Stuff here
base.OnMouseDown(e);
MessageBox.Show("HOLA");
}
,我現在的問題是,我沒有圖像,如果我不使用BackColor命令,我看到一個黑色矩形或灰色矩形,當我點擊它時,它會顯示一個MessageBox,但我無法放置正確的圖像或正確的位置。任何人都可以幫助我?
您是否得到了這個工作? – Wheels73