更改月份日历的大小

A.G*_*tam 5 .net c# monthcalendar winforms

有什么可能的方法来更改日历控件的宽度和高度。我想更改日历的宽度和高度。当我在Google上找到Google时,执行以下步骤:1)在面板中放置月份日历,并允许添加true。并增加面板尺寸。对我不起作用。2)将月历日历放到组框中并停靠。这个月会显示很多个月。3)增加日历控件的字体大小,对我不起作用。

有什么办法可以做到这一点。预先感谢您的评论

Rez*_*aei 6

MonthCalendar控件使用视觉样式呈现,其大小正好如下的系统设置,你不能改变它的大小。但是,作为一个选项,您可以为此控件禁用视觉样式,并使用以下命令为控件设置更大的字体以更改其大小SetWindowTheme

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
public class MyMonthCalendar : MonthCalendar
{
    [DllImport("uxtheme.dll", ExactSpelling = true, CharSet = CharSet.Unicode)]
    static extern int SetWindowTheme(IntPtr hwnd, string pszSubAppName, string pszSubIdList);
    protected override void OnHandleCreated(EventArgs e)
    {
        SetWindowTheme(Handle, string.Empty, string.Empty);
        base.OnHandleCreated(e);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后它将显示如下(字体大小:16):

在此处输入图片说明

与默认外观相比:

在此处输入图片说明


Moz*_*esM 2

遗憾的是,您无法调整月历控件的大小,至少不能按照您想要的方式调整。

唯一的“调整大小”只会在第一个月份的下方添加一个月(您可以通过增加“最小大小”属性来实现这一点)。

如果您想调整控件大小但仍然只显示一个月,则必须制作自己的控件,或使用任何第三方控件,如下所示