我正在尝试创建一个类似于我们在Windows 10中使用的虚拟键盘。我使用按钮来表示键盘上的所有字符。但是如何将文字放在有多个字符的键上,例如在?
键上,我们还有一个/
,那我该怎么做呢?
基本上这就是我想做的事情(来自windows 10虚拟键盘)
但我现在只能做到这一点:
那么如何添加上标类似物以使我的按钮看起来更专业呢?
由于
答案 0 :(得分:0)
您可以创建一个扩展System.Windows.Forms.Button的新Button类。
public class SuperscriptButton : Button
{
[Browsable(true)]
public event EventHandler SuperscriptChanged;
[Browsable(true)]
public string Superscript
{
get
{
return _superScript;
}
set
{
_superScript = value;
OnSuperscriptChanged(EventArgs.Empty);
}
}
private string _superScript;
public SuperscriptButton()
{
TextAlign = System.Drawing.ContentAlignment.BottomRight;
}
protected override void OnPaint(PaintEventArgs pevent)
{
base.OnPaint(pevent);
System.Drawing.Graphics g = pevent.Graphics;
g.DrawString(Superscript, Font, new System.Drawing.SolidBrush(ForeColor), 5, 5);
}
private void OnSuperscriptChanged(EventArgs e)
{
if(SuperscriptChanged != null)
SuperscriptChanged(this, e);
Refresh();
}
}
现在您可以在设计器中使用此按钮并更改Superscript属性以更改显示的字符。