c#里怎么把图片编成数组
问题是有十七个picturebox和六个图片(1,2,3,4,5,10),十七个picture中的图片里的数字要按照一定的顺序排布,这个顺序要通过某种算法得到(与参数有关...
问题是有十七个picturebox和六个图片(1,2,3,4,5,10),十七个picture中的图片里的数字要按照一定的顺序排布,这个顺序要通过某种算法得到(与参数有关)算出的结果在一个数组a[17]中,那么我该怎么把对应的图片和picturebox对应起来呢
菜鸟求大神解答 展开
菜鸟求大神解答 展开
2个回答
展开全部
//using System.Linq;
private void SetPic(int i)
{
//必须保证17个图片框的name属性都是形如pictureBox1,pictureBox2的形式
//如果说处在其他容器比如panel中,则this.Controls改成 容器.Children
PictureBox pi= this.Controls.OfType<PictureBox>().First(p=>p.Name=="pictureBox" + i.ToString());
pi.Image=//此处根据你的i写对应的值
}
展开全部
生成picturebox的时候要动态添加,类似于下面的(当然我不清楚你具体的picturebox分布和计算规则,只是提供示例)
PictureBox[] pblist = new PictureBox[17];
int[] imgIndex = new int[] { 1, 2, 3, 4, 5, 10 };
private void Form1_Load(object sender, EventArgs e)//窗体的load事件
{
for (int i = 0; i < pblist.Length; i++)
{
PictureBox pb = new PictureBox();//创建picturebox
//picturebox属性设置
pb.Name = "box" + i;
pb.Tag = i;
pb.Width = 100; pb.Height = 100;
pb.Location = new Point(i * 110 + 10, 10);//位置请自行计算
pb.BorderStyle = BorderStyle.Fixed3D;
//按i或者其它值计算出对应的图像并加载
//string filename=mypic(i);
//pb.Image = Image.FromFile(filename);
pb.Click +=new EventHandler(pb_Click);//单击事件,自行处理,如不需要可去除
pblist[i] = pb;
}
Controls.AddRange(pblist);//将pblist添加至窗体显示
}
private void pb_Click(object sender, EventArgs e)
{
if (sender is PictureBox)
{
PictureBox pb = (PictureBox)sender;
int index = (int)pb.Tag;
MessageBox.Show("picturebox----->" + index);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询