winform动态生成控件,winform控件动画效果
c#winform怎样实现动态生成控件
//后台生成控件(生成TextBox控件)
var?num?=?3;????????//动态生成的控件数量
for?(int?i?=?0;?i??num;?i++)
{
????????var?name?=?"txt_";
TextBox?txt?=?new?TextBox();
txt.Name?=name?+?i;
txt.Text?=name?+?i;
txt.Location?=?new?Point(12,?15?+?i?*?30);
this.Controls.Add(txt);
}
winform 动态生成自定义控件添加单击事件无效
我试过是可以的,
在你的自定义newButton加这么一句也许更好
private void newButton_Load(object sender, EventArgs e)
{
this.BackColor = Color.Blue;
}
另外,为什么你定义newButton 要继承自UserControl而不是button?
winform怎么动态生成多个panel控件,并且生成两个控件换一行呢?
首先新建一个PictureBox控件
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 = 0; j 8; j++)
{
for (int i = 0; i 12; i++)
{
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个控件和图片
c# winform groupbox上动态生成的控件,如何让控件随着分辨率变化而自动调整位置和大小
最简单的办法就是给groupbox设置一个最小宽度,让button和label刚好能显示出来。
另外呢,也可以这样
你groupbox上动态生成了好多button和label。
那么,如果分辨率小的话,button和label就只能显示一部分,显示不全
我觉得这个时候应该动态设置button和label的width,让它们的width设置为groupbox的宽度的几分之几,随着groupbox宽度的变化而变化。
然后最大宽度设置一直值,当groupbox拉的更大时候,button和label就不变了
但问题是如果groupbox拉的太窄,button肯定会有显示不全的时候,这就是你设计的问题了,不过一般也不会有这么蛋疼的需求。
c# winform动态生成控件问题
这个还不简单吧,你要判断一下容器宽度及当前一个控件如果放置后的LEFT+WIDTH是不是在你的容器内,如果不在你就要换行(TOP+N)
C#winform动态添加控件
第一步,想要添加什么对象,就先通过NEW关键字,实例化一个对象,创建一个对象的实体。
第二部,设置当前对象实体的属性值,事件等。
第三部,通过容器对象的Controls(该属性为一个集合)属性的Add方法添加你当前创建的对象实体。
这样,你就看到你动态添加了一个控件。