刚学习不久,最近有一个项目,需要在一个panel容器中根据需要自动创建多个TextBox,自动排列成M*N的形式
这个乍弄呀!
各位给指教下
有源码就最好了
这个乍弄呀!
各位给指教下
有源码就最好了
解决方案 »
- 请教 :WEB网站软件想集成飞信发送短信功能 ,目前是否可行?
- c#中,怎么把一个字符串传给 (ref sbyte xxxx)参数?
- 相同高度用DrawLine画出来的线不一样长?
- 编程创建IIS asp.net 虚拟路径时如何指定版本为asp.net 2.0?
- 各位大虾帮小妹看看,{0:c}总是输出“¥”,如何才能输出“$”呢?
- 用c#在.net控件中画图
- VS2008 创建 SQL Server Project 问题
- 如何让dateTimePicker1里不显示日期,为空值 ?
- 有哪位朋友做過C#和MySQL圖片存取問題
- 使用stream实现server和client端字符串发送和自动收,如何使自动收到的string自动显示到textbox 中,请高手指点。
- 那高手给我看下这个代码是什么问题呀,else后面这句没起作用,显示不出texbox
- C#自动执行程序能否实现
panel.Controls.Add(txt);
你说的M*N形式不太明白?
int n=N;
for(int i=0; i<m;i++)
{
for(int j=0;j<n;j++)
{
TextBox txt= new TextBox();
panel.Controls.Add(txt); }
}
{
for(int j = 0;j<N;j++)
{
TextBox txt = new TextBox();
txt.Left = 左上角位置
txt.Top = 距顶位置
panel.Control.Add(txt);
}
}
for (...)
{
// label
Label lbl = new Label();
lbl.AutoSize = true;
lbl.Location = new Point(x, y); //计算每个label的坐标
lbl.BackColor = System.Drawing.Color.Transparent;
lbl.ForeColor = System.Drawing.SystemColors.HotTrack;
lbl.Font = new System.Drawing.Font("SimSun", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
++i;
this.panel1.Controls.Add(lbl);
}
int cols = 8, rows = 4;TextBox[] tbs = new TextBox[cols*rows];int x = 10, y = 10;for (int i = 0; i<cols*rows;i++)
{
if (i % 8 == 0) x = 10;
// x y 是 location 下班了来不及写了
}this.panel1.Controls.AddRange(tbs);
tb.Location = ...//根据i,j设置位置
tb.Name = n.Attributes["Name"].InnerText;
tb.Text = n.Attributes["Value"].InnerText;
this.panel1.Controls.Add(tb);
{
if (i % cols == 0)
{
x = 10;
y = (i == 0) ? 10 : tbs[i - 1].Bottom + spacing;
}
tbs[i] = new TextBox();
tbs[i].Location = new Point(x, y); x = tbs[i].Right + spacing;
}this.panel1.Controls.AddRange(tbs);