c#图文框矩阵索引
所以我创建了一个picturebox矩阵,我想得到每个picturebox的索引,在该矩阵中单击的picturebox的“I”和“j” 在这里,我创建了矩阵和单击方法:c#图文框矩阵索引,c#,matrix,indexing,picturebox,C#,Matrix,Indexing,Picturebox,所以我创建了一个picturebox矩阵,我想得到每个picturebox的索引,在该矩阵中单击的picturebox的“I”和“j” 在这里,我创建了矩阵和单击方法: for (int i = 0; i < 3; i++) for (int j = 0; j < 3; j++) { place[i, j] = new PictureBox(); place[i, j].P
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
{
place[i, j] = new PictureBox();
place[i, j].Parent = table;
place[i, j].Size = new Size(100, 100);
place[i, j].Location = new Point(100 * i + 20 * i, 100 * j + 20 * j);
place[i, j].Cursor = Cursors.Hand;
place[i, j].Click += new EventHandler(p_Click);
}
void p_Click(object sender, EventArgs e)
{
var current = sender as PictureBox;
}
for(int i=0;i<3;i++)
对于(int j=0;j<3;j++)
{
place[i,j]=新的PictureBox();
位置[i,j]。父项=表;
位置[i,j]。尺寸=新尺寸(100100);
位置[i,j]。位置=新点(100*i+20*i,100*j+20*j);
place[i,j].Cursor=Cursors.Hand;
放置[i,j]。单击+=新建事件处理程序(p_单击);
}
无效p_单击(对象发送者,事件参数e)
{
var current=发送方为PictureBox;
}
如何获得“I”和“j”?您知道单击的位置 确保它相对于图像的左上角,然后简单的整数算法将为您提供单击的单元格:
int i = location.X / 100;
int j = location.Y / 100;
我注意到你有一个偏移量(一个边框),所以你也必须考虑到这一点。你可以保存索引
3*I+j
,比如,在PictureBox.Tag
中,然后在处理程序中检索它。你可以反向操作,并使用位置来确定单击了哪个PB。嗯,问题是,我想创建另一个int矩阵,我想在第二个int矩阵的点击图片框的位置放置一个数字int。你可以存储@ChrisF答案中的int。