c# Coordinaten Tablelayoutpanel met Pictureboxes opvragen

Status
Niet open voor verdere reacties.

zomg92

Nieuwe gebruiker
Lid geworden
18 jun 2010
Berichten
2
Hallo allemaal.

Ik zit een beetje met een probleem, ik ben bezig met het maken van een stratego bordspel maar ik loop vast.
Ik heb een tablelayout panel van 10 bij en 10 en die word gevuld door een for-loop met pictureboxes.
Alleen nu kan ik de x en y coordinaten van de pictureboxes wel opvragen maar dan krijg ik de coordinaten van in een picturebox.
of ik kan de coordinaten van het tablelayoutpanel opvragen maar dan krijg ik de coordinaten alleen als ik vlak naast een picturebox klik.


Weet iemand een oplossing?

Dit is de code
Code:
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 Stratego
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();

        }

        int x = 0;
        int y = 0;

        private System.Windows.Forms.PictureBox[] pcbs;
        private List<System.Windows.Forms.PictureBox> pcbs1;
        private void Form1_Load(object sender, EventArgs e)


        {
            // laad de tabel
            pcbs = new PictureBox[100];
            int col = 0;
            int row = 0;
            for (int i = 0; i < pcbs.Length; i++)
            {
                int w = tlpVeld.Width / 10;
                int h = tlpVeld.Height / 10;
                pcbs[i] = new PictureBox();
                pcbs[i].Dock = System.Windows.Forms.DockStyle.Fill;
                

                tlpVeld.Controls.Add(pcbs[i], col, row);
                if (col > 9)
                {
                    col = 0;
                    row++;


                   
    
                }
            }

            // laad pcbs1
            pcbs1 = new List<PictureBox>();
            pcbs1.Add(picbox0);
            pcbs1.Add(picbox1);
            pcbs1.Add(picbox2);
            pcbs1.Add(picbox3);
            pcbs1.Add(picbox4);
            pcbs1.Add(picbox5);
            pcbs1.Add(picbox6);
            pcbs1.Add(picbox7);
            pcbs1.Add(picbox8);
            pcbs1.Add(picbox9);
            pcbs1.Add(picbox10);
            pcbs1.Add(picbox11);
            
    
            
        }

        
        private void pcbs1_Click(object sender, EventArgs e)
        {
            
            picbox0.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;

        }

        private void cmdBlue_Click(object sender, EventArgs e)
        {
            

            for (int i = 0; i < pcbs1.Count; i++)
            {
                pcbs1[i].Image = imglstukken.Images[i];
            }
                
          
        }

        private void cmdRed_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < pcbs1.Count; i++)
            {
                pcbs1[i].Image = imglstukkenR.Images[i];
            }

        }

        private void tlpVeld_MouseClick(object sender, MouseEventArgs e)
        {


                  int x = 0;
            int y = 0;
            x = MousePosition.X;
           y = MousePosition.Y;
           MessageBox.Show(x.ToString() + y.ToString());
            


        }

     
       

        



       

     
        //----------------------------------------------------------------------
        

    }
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan