winform 在控件中添加PictureBox后又添加CheckBox

 

     // 在控件panel中添加PictureBox

private void SetPage(List<ExtenStatus> listdata)
{
this.panel2.Controls.Clear();
int row = 0;
for (int i = 0; i < listdata.Count; i++)
{
if (i % 8 == 0 && i != 0)
{
row++;
}
PictureBox pic = new PictureBox();
pic.Name = listdata[i].ExtenInfo.ToString(); //"唐" + i.ToString();

string callstates = SetValue.getStateStr(listdata[i].ExtenState);
pic.Tag = listdata[i].ExtenState;
Bitmap b = new Bitmap(Application.StartupPath + @"\img\" + AppDate.SetValue.getStatepic(listdata[i].ExtenState) + ".png");
pic.MouseClick += PicClick;
pic.Image = b;
pic.Size = new Size(110, (panel2.Height / 9 - 1));
//pic.Location = new Point(30 + i % 8 * (pbw / 12), 30 + row * 60);
pic.Location = new Point(30 + i % 8 * (pbw / 12), 30 + row * (panel2.Height / 9));
Graphics gra = Graphics.FromImage(pic.Image);//要进行处理的图片对象
SolidBrush brush = new SolidBrush(Color.Black);//初始化画笔
AddChechBox(pic);
gra.DrawString(GetName(RemoveAt(listdata[i].ExtenInfo.ToString())) + "\r\n" + callstates, DefaultFont, brush, 60, 5);//处理图片
pic.Refresh();//
this.panel2.Controls.Add(pic);

}

}

  // 在PictureBox中添加CheckBox

private void AddChechBox(PictureBox picbox)
{
CheckBox ck = new CheckBox();
string comid = picbox.Name;

ck.Name = comid;

ck.AutoSize = true;
ck.Location = new System.Drawing.Point(-1, -1);//位置自定义
picbox.Controls.Add(ck);
}

  // 取值

foreach (Control o in mc.panel2.Controls)
{
if (o is PictureBox)
{
foreach (Control c in o.Controls)
{
if (c is CheckBox)
{
if (((CheckBox)c).Checked == true)
{   

//你的代码

}

}
}
}
}

 

转载于:https://www.cnblogs.com/zylbky/p/10715223.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值