Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações. |
Tradução
Original
|
Classe ToolStripControlHost
Hospedar controles personalizados ou controles Windows Forms.
Assembly: System.Windows.Forms (em System.Windows.Forms.dll)
ToolStripControlHost é a classe base abstrata para ToolStripComboBox, ToolStripTextBox, e ToolStripProgressBar. ToolStripControlHost pode host outros controles, incluindo controles personalizados, de duas maneiras:
-
Construir um ToolStripControlHost com uma classe que deriva de Control. Para acessar totalmente o controle hospedado e propriedades, você deve converter o Control propriedade de volta para a classe real que ele representa.
-
Estender ToolStripControlHoste no construtor do padrão da classe herdada, chame o construtor da classe base passando uma classe que deriva de Control. Essa opção permite que você empacote métodos de controle comuns e propriedades para facilitar o acesso em um ToolStrip.
Use o ToolStripControlHost classe para hospedar os controles personalizados ou qualquer Outros controle Windows Forms.
Para personalizar um ToolStripItem, derivam ToolStripControlHost e criar uma implementação personalizada. Você pode substituir métodos, sistema autônomo OnSubscribeControlEvents tratar eventos originados por controles hospedados e você pode colocar a funcionalidade personalizada sistema autônomo propriedades para aprimorar o controle hospedado.
O exemplo de código a seguir demonstra a construir um ToolStripControlHost com um MonthCalendar controlar, usando OnSubscribeControlEvents para tratar eventos e alguns dos seus membros para expor o ToolStripControlHost.
//Declare a class that inherits from ToolStripControlHost.publicclass ToolStripMonthCalendar : ToolStripControlHost { // Call the base constructor passing in a MonthCalendar instance.public ToolStripMonthCalendar() : base (new MonthCalendar()) { } public MonthCalendar MonthCalendarControl { get { return Control as MonthCalendar; } } // Expose the MonthCalendar.FirstDayOfWeek as a property.public Day FirstDayOfWeek { get { return MonthCalendarControl.FirstDayOfWeek; } set { value = MonthCalendarControl.FirstDayOfWeek; } } // Expose the AddBoldedDate method.publicvoid AddBoldedDate(DateTime dateToBold) { MonthCalendarControl.AddBoldedDate(dateToBold); } // Subscribe and unsubscribe the control events you wish to expose.protectedoverridevoid OnSubscribeControlEvents(Control c) { // Call the base so the base events are connected.base.OnSubscribeControlEvents(c); // Cast the control to a MonthCalendar control. MonthCalendar monthCalendarControl = (MonthCalendar) c; // Add the event. monthCalendarControl.DateChanged += new DateRangeEventHandler(OnDateChanged); } protectedoverridevoid OnUnsubscribeControlEvents(Control c) { // Call the base method so the basic events are unsubscribed.base.OnUnsubscribeControlEvents(c); // Cast the control to a MonthCalendar control. MonthCalendar monthCalendarControl = (MonthCalendar) c; // Remove the event. monthCalendarControl.DateChanged -= new DateRangeEventHandler(OnDateChanged); } // Declare the DateChanged event.publicevent DateRangeEventHandler DateChanged; // Raise the DateChanged event.privatevoid OnDateChanged(object sender, DateRangeEventArgs e) { if (DateChanged != null) { DateChanged(this, e); } } }
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.