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

如何给Windows窗体中的标签添加边框?分享

时间:2023-04-10 15:26:47 C#

Windows窗体中如何给标签添加边框?我正在尝试创建一个内部带有白色标签的表单,当我单击一个表单时,该表单消失并且只显示标签。到目前为止,我正在尝试将TransparencyKey放在Lime上,当我单击某些内容时,我将BackColor更改为Lime并将FormBorderStyle设置为None。但问题是我现在正在做的是白色标签没有边框,所以你真的看不到它。我知道BorderStyle属性,这不是我想要的,我希望边框正好位于文本周围,这样您就可以在其他内容之上看到文本。有没有办法给标签添加边框?顺便说一句,这是我的代码:privatevoidlabel1_Click(objectsender,EventArgse){if(BackColor==Color.Lime){BackColor=Color.Black;位置=新点(左-8,上-30);}else{FormBorderStyle=FormBorderStyle.None;BackColor=Color.Lime;Location=newPoint(Left+8,Top+30);}}当然Label上有一个BorderStyle属性,可以设置为FixedSingle或者Fixed3D。FixedSingle是ForeColor颜色中的单像素边框,Fixed3D是使用标签背景灰度的倾斜3D边框。编辑:好的,更确切地说是需要什么。在我看来,您有几种选择。放置两个标签,一个放在另一个上面,内容和格式相同,除了后面的标签是白色的,前面的标签是黑色的,并且后面的标签在X和/或Y维度上从前面一个像素偏移一个像素。您会在黑色文本后面看到一个白色的“阴影”。你甚至可以有四个标签,每个标签在x和y上偏移1个像素,以获得完整的“光晕”。如果你想在多个地方做这个,你可以把它做成一个UserControl;设置控件的文本一次,控件将填充所有5个标签。您可以试验字体大小或粗细,但我怀疑您会得到正确排列的内容,并且在所有情况下字母周围都有一个完美的1像素边框。在品红色背景上创建文本图像,用白色包围它,并将其保存为位图,并将品红色键作为透明色。然后,使用标签(或PictureBox)中的图像。如果有人还在看,这就是我所做的(主要是从该站点复制的)例如,创建一个新类CustomLabel.cs。这是一个示例:publicclassCustomLabel:Label{protectedoverridevoidOnPaint(PaintEventArgse){base.OnPaint(e);ControlPaint.DrawBorder(e.Graphics,ClientRectangle,Color.Red,5,ButtonBorderStyle.Solid,Color.Red,5,ButtonBorderStyle.Solid,Color.Red,5,ButtonBorderStyle.Solid,Color.Red,5,ButtonBorderStyle.Solid);然后你可以像这样使用它:FormnewForm=newForm();CustomLabelnewLabel=newCustomLabel();newForm.Controls.Add(newLabel);newLabel.BackColor=Color.Black;newLabel.Font=newSystem.Drawing.Font("MicrosoftArial",18F,FontStyle.Regular,GraphicsUnit.Point,((byte)(0)));newLabel.ForeColor=Color.Crimson;newLabel.Text="最顶层透明窗体上的一些文本";newForm.Show();newForm.TopMost=true;newLabel.AutoSize=true;新标签。位置=新点(230,375);将Label控件的BorderStyle属性设置为FixedSingle,并将其Label.BorderStyle属性设置为BorderStyleEnumeration。borderstyle属性怎么样?在属性窗口中将其设置为FixedSingle。以上就是C#学习教程:如何给Windows窗体中的标签添加边框?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: