2014-10-30 69 views
0

我想添加一個datetimepicker到一個StatusStrip控件來顯示今天的日期,所以有什麼辦法可以添加其他控件,而不是標籤和進度條到StatusStrip控件?添加datetimepicker到StatusStrip控件在C#

+0

最簡單的方式(但由於無與倫比的風格不那麼有吸引力)被添加'ToolStripItem'派生類,你的情況'ToolStripControlHost'(你將放置一個'DateTimePicker'控件)。我會避免使用'ToolStripDropDownButton'來顯示'ToolStripDropDownItem'列表,在那裏你可以放置'ToolStripControlHost'(仍然不是很好,但至少只能按需顯示)。 – 2014-10-30 10:46:07

+0

執法我可以解釋更多,因爲我沒有得到它 – user3309231 2014-11-04 09:23:44

回答

0

是的,從檢查:

https://social.msdn.microsoft.com/forums/windows/en-us/edbd92be-76ee-49b1-b7c6-f6522992a14a/using-toolstripcontrolhost-with-datetimepicker

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