Vb.net VB控件上的垂直文本

Vb.net VB控件上的垂直文本,vb.net,vertical-text,Vb.net,Vertical Text,表单上的一个按钮需要显示垂直文本,如下所示: T O p 我找到了覆盖油漆的解决方案,对于这么简单的任务来说,这似乎太复杂了。我试过这个: Private Sub LabelStopButton() Dim btTitle As String = "S" & vbCrLf & "T" & vbCrLf & "O" & vbCrLf & "P" & vbCrLf Me.btnStop.Text = btTit

表单上的一个按钮需要显示垂直文本,如下所示:

T

O

p

我找到了覆盖油漆的解决方案,对于这么简单的任务来说,这似乎太复杂了。我试过这个:

Private Sub LabelStopButton()
        Dim btTitle As String = "S" & vbCrLf & "T" & vbCrLf & "O" & vbCrLf & "P" & vbCrLf
        Me.btnStop.Text = btTitle
    End Sub
并尝试将vbCrLf替换为:vbCr,vbLf,Environment.NewLine-无效,结果相同:按钮上只显示第一个字母“S”

使用Visual Studio 2008(这是一个用于旧WinCE 6.0设备的应用程序)

有什么建议吗?
谢谢

这是对现有问题的重复

转换代码以供参考:

您需要将按钮设置为允许多行。这可以通过以下P/Invoke代码实现

Private Const BS_MULTILINE As Integer = &H2000
Private Const GWL_STYLE As Integer = -16

<System.Runtime.InteropServices.DllImport("coredll")> _
Private Shared Function GetWindowLong(hWnd As IntPtr, nIndex As Integer) As Integer
End Function

<System.Runtime.InteropServices.DllImport("coredll")> _
Private Shared Function SetWindowLong(hWnd As IntPtr, nIndex As Integer, dwNewLong As Integer) As Integer
End Function

Public Shared Sub MakeButtonMultiline(b As Button)
    Dim hwnd As IntPtr = b.Handle
    Dim currentStyle As Integer = GetWindowLong(hwnd, GWL_STYLE)
    Dim newStyle As Integer = SetWindowLong(hwnd, GWL_STYLE, currentStyle Or BS_MULTILINE)
End Sub

您是否垂直拉伸按钮,以便有足够的空间显示所有字符?按钮支持多行文本。请确保您的按钮足够大。可能是重复的谢谢。我添加了一个链接以查看结果-控件上有足够的垂直空间(第一个“S”甚至向上移动以腾出空间…。目标框架是什么。NET Compact Framework 2.0?请将答案标记为正确(绿色勾号)-您不需要更改标题-谢谢
MakeButtonMultiline(button1)