如何在C#中旋转标签?我想显示一个旋转90度的标签(这样我就可以将一堆标签作为标题放在表格的顶部)。有捷径吗?您需要自己编写或使用自定义控件。您可以从C#中的自定义文本-方向控件-第I部分(选项卡控件)开始阅读代码项目文章。这包含额外的功能,因此您应该可以根据需要将其缩减。下面是一些感兴趣的代码://////这是一个标签,里面可以设置任意方向/角度的文字///#regionOrientation//文字的方向publicenumOrientation{Circle,Arc,旋转}publicenumDirection{Clockwise,AntiClockwise}#endregionpublicclassOrientedTextLabel:System.Windows.Forms.Label{#regionVariablesprivatedoublerotationAngle;私有字符串文本;私人方向文本方向;私人方向文本方向;#endregion#regionConstructorpublicOrientedTextLabel(){//设置初始条件。旋转角度=0d;textOrientation=Orientation.Rotate;this.Size=newSize(105,12);}#endregion#regionProperties[Description("RotationAngle"),Category("Appearance")]publicdoubleRotationAngle{get{returnrotationAngle;}设置{rotationAngle=值;这个。无效();}}[Description("KindofTextOrientation"),Category("Appearance")]publicOrientationTextOrientation{get{returntextOrien节食;}设置{textOrientation=value;这个。无效();}}[Description("文本方向"),Category("外观")]publicDirectionTextDirection{get{returntextDirection;}set{textDirection=value;这个。无效();}}[Description("DisplayText"),Category("Appearance")]publicoverridestringText{get{returntext;}设置{文本=值;这个。无效();}}#endregion#region方法protectedoverridevoidOnPaint(PaintEventArgse){Graphicsgraphics=e.Graphics;StringFormatstringFormat=newStringFormat();stringFormat.Alignment=StringAlignment.Center;stringFormat.Trimming=StringTrimming.None;画笔textBrush=newSolidBrush(this.ForeColor);//获取我们要写的文本的宽高floatwidth=graphics.MeasureString(text,this.Font).Width;floatheight=graphics.MeasureString(text,this.Font).Height;//半径设置为宽度或高度的0.9,b'因为不//隐藏和p任何阶段的文艺floatradius=0f;if(ClientRectangle.Width你也可以看看Windows的ToolStrip控件,它有一个TextDirection选项,可以设置为Vertical90或Vertical270,它会把Label文本旋转到合适的方向。以上是C#学习教程:HowtorotatelabelsinC#?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多加关注---本文收集自网络,不代表立场。如有涉及侵权,请点击右侧联系管理员删除,如需转载请注明出处:
