自定义按钮文本外观

时间:2014-01-24 07:38:39

标签: c# .net vb.net winforms button

我正在开发一个vb.net winform应用程序。 默认情况下,按钮上的文本会在稍微空格后开始。我需要从边框本身启动文本,没有任何空间。而且我想通过添加一些缩进值来控制间距。

但是没有按钮属性来控制它。你能否提出一些实现这一目标的方法。下面是用于演示要求的图像。

enter image description here

按钮1表示默认情况下文本的显示方式。而按钮2是实现的输出。

4 个答案:

答案 0 :(得分:3)

您需要处理按钮的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属性:

enter image description here

按钮UI的输出:

enter image description here

答案 1 :(得分:1)

对于这种自定义,您需要创建自定义winforms控件。

查看此CP文章http://www.codeproject.com/Articles/4871/Divider-Panel-A-tutorial-on-creating-a-custom-Wind

答案 2 :(得分:0)

我建议您使用图片而不是使用文字。将图像设置为按钮背景图像或简单按钮图像,然后您可以使用对齐属性将文本移动到任何角落。

答案 3 :(得分:-1)

没有必要开自己的类,C#和VB中的Button类都有一个属性..

enter image description here

VB

Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft

C#

this.button1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;

快乐编码和分享.. :)