PictureBox pb = new PictureBox()
为这个控件添加一个点击事件
如:
pb.Click += new System.EventHandler(this.pictureBox_Click)//添加Click事件
有这个基础,那么动态创建多个控件也是一件容易的事情
代码如下:
/// <summary>
/// 图片创建控件,并初始化一共是96个
/// </summary>
private void createPicBoxList()
{
PictureBox pb = null
for (int j = 0j <8j++)
{
for (int i = 0i <12i++)
{
pb = new PictureBox()
pb.BackColor = Color.White
//通过这个标识记录不同的编号y在前面.记X从1开始索引,Y直接保存A...H这种
//已经转化为A1,A2,....H12这种格式,其中A的ASCII=65
pb.Tag = (Convert.ToChar(j + 65)).ToString() + (i + 1).ToString()
pb.Name = "pb"//通过这个Name标记所有PictureBox控件.
pb.Size = new Size(56, 56)//大小
pb.Location = new Point(i * 56, j * 56)//位置.
pb.Image = holesImg//初始化图片Bitmap或者Image对象
pb.Click += new System.EventHandler(this.pictureBox_Click)//添加Click事件
this.groupBox.Controls.Add(pb)//加载到groupBox容器内
}
}
}
以上各个参数根据自己实际需要修改,这里是仅是演示作用,上述代码中一共创建了96个控件和图片
打开Microsoft Visual Studio 2010新建解决方案,
添加项目——动态生成控件
窗体布局
把窗体设置合适的大小
确定控件的基本属性
1、假设要添加15个button按钮;
2、基本属性如下:
Name:名称 myButton
Text:显示文本 按钮(i)
Size:大小 50*50
Location:窗体位置
Location属性如何动态变化?(分析如图)
假设要把15个按钮,每5个一行生成,那么就需要让Location属性动态变化?怎么办?
经过分析,确定X的坐标为:50+i%5*100
Y的坐标如何动态确定?
1、定义一个行变量;
2、Y的坐标为:50+row*100
3、增加判断换行条件:i % 5 == 0 &&i != 0
输入代码试试看?ok!运行效果如图
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)