怎么动态创建控件

kill99 2006-08-15 10:34:01
如题。最好有代码例子,谢谢了!
...全文
137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
三省Ta叔 2006-08-15
  • 打赏
  • 举报
回复
啊, * 的来啦。
不过来迟啦,嘿嘿
楼上的,是不是楼主结帖了,你刚好提交啊!
3tzjq 2006-08-15
  • 打赏
  • 举报
回复
动态创建控件时一定要:SuspendLayout()...ResumeLayout(),否则创建速度很慢!
3tzjq 2006-08-15
  • 打赏
  • 举报
回复
Sample:

this.SuspendLayout();

Button btn = new Button();
btn.SuspendLayout();

btn.Text = "按四舍五入法取整(&R)";
btn.Name = "btnRound";
btn.Size = this.btnAuditingAll.Size;
btn.Width += 12;
btn.Anchor = this.btnAuditingAll.Anchor;
btn.Location = this.btnAuditingAll.Location;
btn.Left += this.btnAuditingAll.Width + 16;
//...

btn.ResumeLayout();
this.Controls.Add(btn);

this.ResumeLayout();
zhgroup 2006-08-15
  • 打赏
  • 举报
回复
如果创建的是某一类型的,用一楼的就可以,如果不是,则需要用反射从配置文件中读取,然后再创建。
kill99 2006-08-15
  • 打赏
  • 举报
回复
其它的也可以按照这样的方法创建吗?
yuzhlhua 2006-08-15
  • 打赏
  • 举报
回复
楼上正解
三省Ta叔 2006-08-15
  • 打赏
  • 举报
回复
CheckBox[] myChkW;

/// <summary>
/// 创建周选择数组
/// </summary>
private void ShowchkWeekArray()
{
myChkW=new CheckBox[24];
for(int i = 0; i < 24; i++)
{
myChkW[i] = new CheckBox(); //创建对象的实例
myChkW[i].Location = new System.Drawing.Point(28 + 90 * (i % 6),50 + 25 * (i / 6));
myChkW[i].Name = "checkBox";
myChkW[i].Size = new System.Drawing.Size(86,24);
myChkW[i].Text ="第"+ courseSetFacade.IntToString((i+1).ToString()) +"周";
myChkW[i].FlatStyle=FlatStyle.Popup;
myChkW[i].BackColor = System.Drawing.Color.Transparent;
this.Controls.Add(myChkW[i]); //在窗体上呈现控件
}
}

courseSetFacade。。。。 这个是我自己写的方法。自己修改下就可以了。

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧