【语言-c#】C#控件DateTimePicker 修改日历字体大小、颜色

一、类似提问

c#控件 DateTimePicker如何把下拉日历变大 ,我试过设置CalendarFont,但是无效
在win7下用CalendarFont设置dateTimepicker任何字体效果均无效

二、参考原文

DateTimePicker.CalendarFont Property

从开始使用 Windows Vista,具体取决于主题,设置此属性可能会更改日历的外观。 例如,如果 Windows 设置为使用 Aero 主题,设置此属性无效。 这是因为该日历的更新的版本呈现在运行时派生自当前操作系统主题的外观。 如果你想要使用此属性,并启用日历的早期版本,则可以为应用程序禁用视觉样式。 禁用视觉样式,可能会影响的外观和行为的应用程序中的其他控件。 若要禁用在 Visual Basic 中的视觉样式,请打开项目设计器,并取消选中启用 XP 视觉样式复选框。 若要禁用视觉样式在 C# 中的,打开 Program.cs,并注释掉Application.EnableVisualStyles();。

适用于

.NET Core:3.0 Preview 2

.NET Framework:4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0 2.0 1.1

三、总结解决方法

将Process.cs文件的Application.EnableVisualStyles();注释掉。此方法的利弊在于您会失去所有控件的win7、win10风格,但你可以修改日历的字体大小、颜色、背景颜色等。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
           
namespace RSS_ATDPS_Light
{
     static class Program
    {


        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
           // Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Main());
        }
    }
}

四、对比效果

1、Win7、Win10效果

2、自定义效果

            this.dateTimePicker1.CalendarFont = new Font("宋体",30.0f);
            this.dateTimePicker1.CalendarForeColor = System.Drawing.Color.FromArgb (255, 0, 115, 0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值