如何在C#/Windows窗体中翻转/旋转标签? [英] How can I flip/rotate the label in C#/Windows Forms?
问题描述
如何在C#中翻转/旋转标签 Windows表单?
How can I flip/rotate the label in C# Windows Forms?
我将背景图片设置为标签.
I set the background image to my label.
每隔一个时间间隔它将向右移动三个像素.当它到达表单的结束位置时,我需要将标签翻转并向后转.
At every time interval it moves three pixels to the right side. When it reaches the form end position I need the label to be flipped and turned back.
我尝试了以下方法,但没有得到解决方案.
I have tried the following way, but I didn't get the solution.
private void timer1_Tick(object sender, EventArgs e){
if (label2.Location.X < this.Width)
label2.Location = new Point(label2.Location.X + incr, label2.Location.Y);
else
{
incr = -2;
label2.Location = new Point(label2.Location.X - 50, label2.Location.Y);
label1.Image.RotateFlip();
}
this.Refresh();
}
推荐答案
创建一个类 newlabel
,该类可以将其Text旋转到用户指定的任何角度.
Create a class, newlabel
, which can rotate its Text on any angle specified by the user.
extend label class& override paint method
您可以通过代码使用它,也可以直接从工具箱中拖动它.
You can use it by code or simply dragging from the ToolBox.
using System.Drawing;
class newLabel : System.Windows.Forms.Label
{
public int RotateAngle { get; set; }
public string NewText { get; set; }
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
Brush b =new SolidBrush(this.ForeColor);
e.Graphics.TranslateTransform(this.Width / 2, this.Height / 2);
e.Graphics.RotateTransform(this.RotateAngle);
e.Graphics.DrawString(this.NewText, this.Font,b , 0f, 0f);
base.OnPaint(e);
}
}
现在将这个自定义控件拖动到表单中.
Now drag this custom control to be used into your form.
您必须设置以下属性.
newlbl.Text = "";
newlbl.AutoSize = false;
newlbl.NewText = "ravindra";
newlbl.ForeColor = Color.Green;
newlbl.RotateAngle = -90;
只需更改 RotateAngle
属性即可根据需要更改角度.
Change angle as required by simply changing the RotateAngle
property.
这篇关于如何在C#/Windows窗体中翻转/旋转标签?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!