65.9K
CodeProject 正在变化。 阅读更多。
Home

C# 中自定义的面向文本的控件 - 第一部分(标签控件)

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.89/5 (48投票s)

2004年9月27日

2分钟阅读

viewsIcon

206975

downloadIcon

14531

可以以任何方向和形状显示文本的标签。

Sample Image - customtext.jpg

引言

显示文本的方式有很多。但最常见的方法是将其显示在直线上、弧形上和圆形上。 NET自带的标签只能在直线上显示文本。此控件可以使用所有三种主要方法实现,并带有旋转角度。此外,文本可以以我们感兴趣的方向显示。

工作原理

在编写之前,我们必须注意几个要点

  1. 我们必须在何处写入字符。
  2. 字母与轴线的角度。
  3. 字符串的路径。
  4. 字符串的方向。

根据我们的需要,我们可以重写控件的OnPaint方法并绘制文本。我们必须使用Graphics对象自行绘制文本。它有非常有用的方法可以在这里使用。 TranslateTransformRotateTransform是用于实现此任务的常用方法。 TranslateTransform用于移动文本,将其显示在我们想要的位置。另一种方法是旋转字符以使其与中心对齐。

该控件有三个属性,可以使用

  • TextOrientation(文本方向)

    文本必须如何显示。 Label中支持三种方法。它们是RotateArcCircle。我们可以用旋转的方式在直线上显示它。我的意思是,文本将显示在直线上,但文本可以以我们想要的任何角度旋转。另一个是Arc,我们可以在其中以弧形显示文本。最后一个是,在圆形路径中显示它。

  • TextDirection(文本方向)

    当我们考虑以弧形或圆形路径显示文本时,有两种方式,即我们希望显示文本的方向。它们是顺时针和逆时针。

  • RotationAngle(旋转角度)

    文本可以以我们喜欢的任何角度旋转。这主要可以在直线上完成。

摘要

我的计划是编写自定义控件,我们可以在其中旋转文本。将来,根据我从中获得的反馈,我将编写更多自定义控件,我们可以在其中执行文本定向工作。

© . All rights reserved.