C# 标签列表不显示在图片框中
我对VisulaStudio中的标签有问题。 我使用的VisualStudio版本是2012年 问题是,我需要显示网格并标记线。我编写的代码与类似问题的解决方案完全相同。它不会给我任何编译器错误,但标签仍然不会显示在pictureBox中C# 标签列表不显示在图片框中,c#,label,C#,Label,我对VisulaStudio中的标签有问题。 我使用的VisualStudio版本是2012年 问题是,我需要显示网格并标记线。我编写的代码与类似问题的解决方案完全相同。它不会给我任何编译器错误,但标签仍然不会显示在pictureBox中 private void aResize() { Size clientSize = this.ClientSize; int hToDraw, wToDraw; hToDraw = clientSize.Height
private void aResize()
{
Size clientSize = this.ClientSize;
int hToDraw, wToDraw;
hToDraw = clientSize.Height - 2 * marginOfTab;
wToDraw = clientSize.Width - 2 * marginOfTab;
tabControl1.Size = new Size(wToDraw, hToDraw);
piB1.Size = new Size(wToDraw, hToDraw);
piB1.Image = new Bitmap(piB1.Size.Width, piB1.Size.Height);
using (Graphics g = Graphics.FromImage(piB1.Image))
{
g.FillRectangle(new SolidBrush(Color.LightGray), 0, 0, W, H);
Pen gridPen = new Pen(Color.White, 1f);
int hDrawingStep = hToDraw / 10 -1;
int wDrawingStep = wToDraw / 10 -1;
for (int local = 1; local < 11; local++)
{
g.DrawLine(gridPen, 0, hDrawingStep*local, wToDraw, hDrawingStep*local); //horizontal axix
g.DrawLine(gridPen, wDrawingStep*local, 0, wDrawingStep*local , hToDraw); //vertical axis
Label localLabel = new Label();
localLabel.Name = "la" + local;
localLabel.Visible = true;
localLabel.Text = (local*100).ToString();
localLabel.Location = new Point((int)local*hDrawingStep, (int)10);
labelList.Add(localLabel);
}
}
}
private void aResize()
{
Size clientSize=this.clientSize;
int hToDraw,wToDraw;
hToDraw=客户尺寸.高度-2*marginOfTab;
wToDraw=客户端大小.Width-2*marginOfTab;
tabControl1.Size=新尺寸(wToDraw、hToDraw);
piB1.尺寸=新尺寸(wToDraw、hToDraw);
piB1.Image=新位图(piB1.Size.Width,piB1.Size.Height);
使用(Graphics g=Graphics.FromImage(piB1.Image))
{
g、 FillRectangle(新的SolidBrush(颜色为浅灰色),0,0,W,H);
钢笔网格笔=新钢笔(颜色:白色,1f);
int hdrawinstep=hToDraw/10-1;
int wdrawinstep=wToDraw/10-1;
for(int local=1;local<11;local++)
{
g、 绘图线(网格笔,0,hdrawinstep*local,wToDraw,hdrawinstep*local);//水平轴
g、 绘图线(网格笔,wDrawingStep*local,0,wDrawingStep*local,hToDraw);//垂直轴
Label localLabel=新标签();
localLabel.Name=“la”+本地;
localLabel.Visible=true;
localLabel.Text=(local*100).ToString();
localLabel.Location=新点((int)local*hdrawinstep,(int)10);
添加(localLabel);
}
}
}
上面代码中未声明的所有变量都在前面声明。我不想贴得太多。谢谢您的建议。您没有为您的
localLabel
设置任何父项,因此如何呈现它?在将localLabel
添加到labelList
之前,请尝试以下操作:
//...
localLabel.Parent = piB1;
labelList.Add(localLabel);
什么是标签列表?您只需将标签添加到
标签列表
,那么它们如何显示在您的pictureBox上呢?@King Kong labelList是一个列表
。我不明白。为什么不展示呢?我设置localLabel.Visible=true
。对于将来阅读此问题的人来说,@King Kong的答案非常有效,但我的代码中还有另一个错误。您还需要指定标签的.Size参数。