永发信息网

c#自己新建label无显示

答案:4  悬赏:10  手机版
解决时间 2021-03-17 04:54
  • 提问者网友:做自己de王妃
  • 2021-03-16 15:29
c#自己新建label无显示
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-03-16 16:38
在生成函数中加要,Form1.Controls.Add(l);追问add过了也没看见追答我自己在PANEL中动态生成的都没问题啊,this.Controls.Add(l)也不行?写在Form1_Load事件中呢?再没有,不用l.Location,来定义位置,用l.Top,l.Left来描述位置,试下,再不行...那真想不出来为什么啦,家里面没有工具,也测试不了追问谢谢了,提醒我了,东西被遮住了……
全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-03-16 20:23

for (int i = 0; i < 10; i++)
{
labela[i] = new Label();
labelinitialize(labela[i], i);
}

写在
InitializeComponent();

中追问写不进去追答怎么个写不进去,可以啊
  • 2楼网友:山君与见山
  • 2021-03-16 19:34
label已经生成,只是在内存里,没有画在form上
应该是:
public Form1()
{
InitializeComponent();
for (int i = 0; i < 10; i++)
{
labela[i] = new Label();
labelinitialize(labela[i], i);
}
}
private void labelinitialize(Label l,int i) {
l.BackColor = System.Drawing.Color.Red;
l.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
l.Location = new System.Drawing.Point(pictureBox1.Location.X+19*i,pictureBox1.Location.Y+19*i);
l.Name = "label"+i;
l.Size = new System.Drawing.Size(19, 19);
l.TabIndex = i+1;
l.Text = ((char)('A'+i)).ToString();
this.Controls.Add(l);
}追问还是没用追答public Form1()
{
InitializeComponent();
for (int i = 0; i < 10; i++)
{
labelinitialize(i);
}
}
private void labelinitialize(int i)
{
Label l = new Label();
l.BackColor = System.Drawing.Color.Red;
l.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
l.Location = new System.Drawing.Point(pictureBox1.Location.X+19*i,pictureBox1.Location.Y+19*i);
l.Size = new System.Drawing.Size(19, 19);
l.Name = "label"+i;
l.TabIndex = i+1;
l.Text = ((char)('A'+i)).ToString();
this.Controls.Add(l);
}
  • 3楼网友:我住北渡口
  • 2021-03-16 18:17
Label需要new出来,并且visable属性要为true,最后把new出来的label对象添加到窗体空间集合里this.controls.add(label对象);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯