当前位置: 首页 > 编程语言 > C#

在Picturebox上添加标签Share

时间:2023-04-10 13:20:37 C#

AddingLabelsonPicturebox我想在我的picturebox上写一些文本,所以我认为最简单和最好的方法是在它上面绘制标签。这就是我所做的:PB=newPictureBox();PB.Image=Properties.Resources.Image;PB.BackColor=Color.Transparent;PB.SizeMode=System.Windows.Forms.PictureBoxSizeMode.StretchImage;PB.Size=newSystem.Drawing.Size(120,30);PB.Location=newSystem.Drawing.Point(100,100);lblPB.Parent=PB;lblPB.BackColor=Color.Transparent;lblPB.Text="文本";.AddRange(newSystem.Windows.Forms.Control[]{this.PB});我得到没有PictureBoxes的空白页。我究竟做错了什么?虽然所有这些答案都有效,但您应该考虑选择更清洁的解决方案。您可以使用PictureBox的Paint事件:PB=newPictureBox();PB.Paint+=newPaintEventHandler((sender,e)=>{e.Graphics.TextRenderingHint=System.Drawing.Text.TextRenderingHint.AntiAlias;e.Graphics.DrawString("Text",Font,Brushes.Black,0,0);});//...其余代码编辑器居中绘制文本:PB.Paint+=newPaintEventHandler((sender,e)=>{e.Graphics.TextRenderingHint=System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;stringtext="Text";SizeFtextSize=e.Graphics.MeasureString(text,Font);PointFlocationToDraw=newPointF();locationToDraw.X=(PB.Width/2)-(textSize.Width/2);locationToDraw.Y=(PB.Height/2)-(textSize.Height/2);e.Graphics.DrawString(text,Font,Brushes.Black,locationToDraw);});而不是lblPB.Parent=PB;做PB.Controls.Add(lblPB);您必须将控件添加到PictureBox。所以:PB.Controls.Add(lblPB):编辑:我得到没有PictureBoxes的空白页。您看不到图片框,因为它与窗体具有相同的背景颜色。所以尝试设置BorderStyle和BackColor。另一个错误是您可能没有设置标签的位置。所以:PB.BorderStyle=BorderStyle.FixedSingle;PB.BackColor=Color.White;lblPB.Location=newPoint(0,0);我试过了。(不使用图片框)首先使用“面板”控件设置面板的BackgroundImage和BackgroundImageLayout(拉伸)在面板内添加标签就是这样还有另一种方法可以做到这一点。这很简单,但可能不是最好的。(我是初学者,所以我喜欢简单的东西)如果我理解你的问题,你想把标签放在图片框的顶部/顶部。以下代码行将执行此操作。myLabelsName.BringToFront();现在,您的问题得到了回答,但这也许对其他人有帮助。以上就是C#学习教程:给Picturebox添加标签,分享全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: