C# 将datetimepicker添加到C中的StatusStrip控件#

C# 将datetimepicker添加到C中的StatusStrip控件#,c#,winforms,statusstrip,C#,Winforms,Statusstrip,我想在StatusStrip控件中添加一个datetimepicker来显示今天的日期,那么除了标签和进度条之外,还有什么方法可以将其他控件添加到StatusStrip控件中呢?是的,请从以下位置进行检查: 最简单的方法(但由于样式不匹配而不那么吸引人)是添加一个ToolStripItem派生类,在您的例子中是ToolStripControlHost(您将在其中放置一个DateTimePicker控件)。为了避免这种情况,我选择了一个ToolStripDropDownButton,它将显示To

我想在StatusStrip控件中添加一个datetimepicker来显示今天的日期,那么除了标签和进度条之外,还有什么方法可以将其他控件添加到StatusStrip控件中呢?

是的,请从以下位置进行检查:


最简单的方法(但由于样式不匹配而不那么吸引人)是添加一个
ToolStripItem
派生类,在您的例子中是
ToolStripControlHost
(您将在其中放置一个
DateTimePicker
控件)。为了避免这种情况,我选择了一个
ToolStripDropDownButton
,它将显示
ToolStripDropDownItem
的列表,在那里你可以放置你的
ToolStripControlHost
(仍然不是很好,但至少只在需要时可见)。execuse me你能解释一下吗,因为我没有得到它
[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.ToolStrip)]
public class ToolStripDateTimePicker : ToolStripControlHost
{
    private FlowLayoutPanel controlPanel;
    private DateTimePicker picker = new DateTimePicker();

    public ToolStripDateTimePicker()
        : base(new FlowLayoutPanel())
    {
        controlPanel = (FlowLayoutPanel)base.Control;
        controlPanel.BackColor = Color.Transparent;

        AutoSize = false;

        controlPanel.Controls.Add(picker);
    }

    public DateTime Value
    {
        get { return this.picker.Value; }
        set { this.picker.Value = value; }
    }

    protected override void OnSubscribeControlEvents(Control control)
    {
        base.OnSubscribeControlEvents(control);
    }

    protected override void OnUnsubscribeControlEvents(Control control)
    {
        base.OnUnsubscribeControlEvents(control);
    }
}