J.D*_*Doe 3 c# datetimepicker text-alignment winforms
在我用 C# 编写的 Windows 窗体应用程序中,我有一个DateTimePicker控件。我想将控件的文本部分居中,但这可能吗?我当前的文本位于左侧,在右侧留出了很多空间。
我试过
myDateTimePicker.TextAlign = ContentAlignment.MiddleCenter;
Run Code Online (Sandbox Code Playgroud)
但它给出了错误:
“System.Windows.Forms.DateTimePicker”不包含“TextAlign”的定义,并且找不到接受“System.Windows.Forms.DateTimePicker”类型的第一个参数的扩展方法“TextAlign”(您是否缺少 using 指令或装配参考?)
我找不到任何似乎有效的属性,而且我也无法在互联网上的任何地方找到解决方案。难道这根本不可能吗?
您始终可以OnPaint通过子类化来覆盖处理程序DateTimePicker:
public class CenteredDateTimePicker : DateTimePicker
{
public CenteredDateTimePicker()
{
SetStyle(ControlStyles.UserPaint, true);
}
protected override void OnPaint(PaintEventArgs e)
{
e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle, new StringFormat
{
Alignment = StringAlignment.Center,
LineAlignment = StringAlignment.Center
});
}
}
Run Code Online (Sandbox Code Playgroud)
然而,滚动条没有画在这里,所以你可能不得不以某种方式即兴发挥......
不幸的是,您找不到DateTimePicker.OnPainton Reference Source的定义。