一种选择可能是创建一个自定义按钮,该按钮继承自Button
并覆盖其OnPaint
事件(基于 TaW 的评论)。
public class DuelTextFieldButton : Button
{
public string LeftText { get; set; }
public string RightText { get; set; }
public Color RightTextColor { get; set; }
protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
using (SolidBrush leftTextBrush = new SolidBrush(this.ForeColor))
{
using (StringFormat sf = new StringFormat()
{ Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center })
{
pevent.Graphics.DrawString(LeftText, this.Font, leftTextBrush, this.ClientRectangle, sf);
}
}
using (SolidBrush rightTextBrush = new SolidBrush(RightTextColor))
{
using (StringFormat sf = new StringFormat()
{ Alignment = StringAlignment.Far, LineAlignment = StringAlignment.Center })
{
pevent.Graphics.DrawString(RightText, this.Font, rightTextBrush, this.ClientRectangle, sf);
}
}
}
}
编辑:如 TaW 的评论所建议的,向画笔添加了 using 语句。