gpt4 book ai didi

c# - 是否可以将 DateTimePicker 的文本居中?

转载 作者:行者123 更新时间:2023-12-05 01:44:20 25 4
gpt4 key购买 nike

在我用 C# 编写的 Windows 窗体应用程序中,我有一个 DateTimePicker 控件。我想将控件的文本部分居中,但这可能吗?我现在的那个在左边有它的文字,在右边给了很多空间。

enter image description here

我试过了

myDateTimePicker.TextAlign = ContentAlignment.MiddleCenter;

但它给出了错误:

'System.Windows.Forms.DateTimePicker' does not contain a definition for 'TextAlign' and no extension method 'TextAlign' accepting a first argument of type 'System.Windows.Forms.DateTimePicker' could be found (are you missing a using directive or an assembly reference?)

我找不到任何似乎有效的属性,而且我也无法在 Internet 上的任何地方找到解决方案。这根本不可能吗?

最佳答案

您始终可以通过继承 DateTimePicker 来覆盖 OnPaint 处理程序:

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
});
}
}

但是,这里没有绘制滚动条,因此您可能需要以某种方式即兴发挥...

很遗憾,您在Reference Source 上找不到DateTimePicker.OnPaint 的定义| .

关于c# - 是否可以将 DateTimePicker 的文本居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46675204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com