【发布时间】:2014-02-15 02:43:15
【问题描述】:
我正在开发一个 vb.net winform 应用程序。 默认情况下,按钮上的文本在一点空间后开始。我需要从边框本身开始文本,没有任何空格。我还想通过添加一些缩进值来控制间距。
但是没有按钮属性可以控制它。您能否提出一些实现这一目标的方法。下面是演示要求的图像。
按钮 1 表示默认情况下文本的显示方式。而Button 2就是要实现的输出。
【问题讨论】:
标签: c# .net vb.net winforms button
我正在开发一个 vb.net winform 应用程序。 默认情况下,按钮上的文本在一点空间后开始。我需要从边框本身开始文本,没有任何空格。我还想通过添加一些缩进值来控制间距。
但是没有按钮属性可以控制它。您能否提出一些实现这一目标的方法。下面是演示要求的图像。
按钮 1 表示默认情况下文本的显示方式。而Button 2就是要实现的输出。
【问题讨论】:
标签: c# .net vb.net winforms button
我建议您使用图像而不是使用文本。将图像设置为按钮背景图像或简单按钮图像,然后您可以使用对齐属性将文本移动到任何角落。
【讨论】:
为了这种自定义,您需要创建一个自定义的 winforms 控件。
查看这篇CP文章http://www.codeproject.com/Articles/4871/Divider-Panel-A-tutorial-on-creating-a-custom-Wind
【讨论】:
无需驱动自己的类,在 C# 和 VB 中的 Button 类上都有一个属性..
VB
Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft
C#
this.button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
快乐的编码和分享.. :)
【讨论】:
您需要处理按钮的 Paint 事件才能在 Button 上绘制字符串。
喜欢:
Private Sub Button1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint
Button1.Text = String.Empty
e.Graphics.DrawString("Test", Button1.Font, Brushes.Black, New Point(0, 5))
End Sub
并设置FlatStyle、BorderColor、BorderSize属性:
按钮 UI 的输出:
【讨论】: