Kopiuj
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
List<PictureBox> pola = new List<PictureBox>();
List<PictureBox> figury = new List<PictureBox>();
public Form1()
{
InitializeComponent();
pola = new List<PictureBox>
{ H1, H2, H3, H4, H5, H6, H7, H8,
G1, G2, G3, G4, G5, G6, G7, G8,
F1, F2, F3, F4, F5, F6, F7, F8,
E1, E2, E3, E4, E5, E6, E7, E8,
D1, D2, D3, D4, D5, D6, D7, D8,
C1, C2, C3, C4, C5, C6, C7, C8,
B1, B2, B3, B4, B5, B6, B7, B8,
A1, A2, A3, A4, A5, A6, A7, A8, };
figury = new List<PictureBox>
{ PionBialy1, PionBialy2, PionBialy3, PionBialy4,
PionBialy5, PionBialy6, PionBialy7, PionBialy8,
WiezaBiala1, WiezaBiala2, SkoczekBialy1, SkoczekBialy2,
GoniecBialy1, GoniecBialy2, KrolBialy, DamaBiala,
PionCzarny1, PionCzarny2, PionCzarny3, PionCzarny4,
PionCzarny5, PionCzarny6, PionCzarny7, PionCzarny8,
WiezaCzarna1, WiezaCzarna2, SkoczekCzarny1, SkoczekCzarny2,
GoniecCzarny1, GoniecCzarny2, KrolCzarny, DamaCzarna };
foreach (Control control in Controls)
{
if (control is PictureBox)
{
control.MouseClick += new MouseEventHandler(PictureBoxMouseClick);
control.MouseDown += new MouseEventHandler(PictureBoxMouseDown);
}
}
}
private void PictureBoxMouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
Point p = this.Location;
}
}
/* private void PictureBoxMouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
PictureBox box = sender as PictureBox;
box.Left += e.X - ((Point)box.Tag).X;
box.Top += e.Y - ((Point)box.Tag).Y;
}
}*/
private void PictureBoxMouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
/* PictureBox box = sender as PictureBox;
box.Tag = e.Location;*/
}
}
}
}
wykorzystałem trochę kodu od Ciebie oraz trochę innego kodu z internetu i wyszło mi takie coś. Nie działa to jeszcze tak jak powinno. W komentarzach są fragmenty kodu z poprzedniego kodu który polegał na przenoszeniu pictureboxów poprzez lokalizowanie pozycji myszki w sposób płynny. Mi natomiast zależy na tym aby przemieszczać pictureboxy za pomocą kliknięcia w pbx z figurą, oraz kliknięcie na innego pbx(docelowego).
Chce wykonać to poprzez kliknięcie w pbx z figurą, pobranie jego lokacji, po czym kliknięcie na pbx docelowy i przeniesienie pbx-a z figurą na pbx docelowy poprzez zlokalizowanie lokacji pbx-a docelowego.