タイトル : Re: Labelを90°回転させてデザインに張り付けたい 投稿日 : 2016/07/14(Thu) 17:27 投稿者 : 魔界の仮面弁士
> 作業しているのはWindowsフォームアプリケーションでやってます。 残念ながら、Windows Forms にその機能はありません。 (案1) ElementHost コントロールを貼り、その中に RotateTransform した WPF コンテンツを配置する (案2) 自前で描画する(以下参考例) Imports System.ComponentModel Public Class VerticalLabel Inherits Label Protected Overrides Sub CreateHandle() MyBase.CreateHandle() AutoSize = False Text2 = Name End Sub Protected Overrides Sub OnPaint(e As PaintEventArgs) e.Graphics.RotateTransform(90.0F) Using b As New SolidBrush(ForeColor) e.Graphics.DrawString(Text2, Font, b, e.Graphics.VisibleClipBounds) End Using MyBase.OnPaint(e) End Sub <EditorBrowsable(EditorBrowsableState.Never)> _ <Browsable(False)> _ <DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _ Public Overrides Property Text As String Get Return "" End Get Set(value As String) MyBase.Text = "" Text2 = value End Set End Property Public Property Text2 As String Get Return _text2 End Get Set(value As String) _text2 = value OnTextChanged(EventArgs.Empty) End Set End Property Private _text2 As String <EditorBrowsable(EditorBrowsableState.Never)> _ <Browsable(False)> _ <DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)> _ Public Overrides Property TextAlign As ContentAlignment Get Return MyBase.TextAlign End Get Set(value As ContentAlignment) MyBase.TextAlign = value End Set End Property End Class |