/// <summary> /// Retrieves the HTML to display in the designer. /// </summary> /// <returns>HTML for the designer.</returns> public override string GetDesignTimeHtml() { string html; MultiPage multiPage = (MultiPage)Component; int realIndex = 0; if (multiPage.Controls.Count == 0) { // Add a message if the MultiPage is empty return(CreatePlaceHolderDesignTimeHtml(DesignUtil.GetStringResource("MultiPageNoItems"))); } realIndex = multiPage.SelectedIndex; if (_SelectedIndex < 0) { _SelectedIndex = realIndex; } multiPage.SelectedIndex = _SelectedIndex; try { html = base.GetDesignTimeHtml(); } finally { // Restore the component multiPage.SelectedIndex = realIndex; } return(html); }
/// <summary> /// Retrieves the HTML to display in the designer. /// </summary> /// <returns>The design-time HTML.</returns> public override string GetDesignTimeHtml() { TabStrip strip = (TabStrip)Component; // If the tabstrip is empty, then add a label with instructions if (strip.Items.Count == 0) { return(CreatePlaceHolderDesignTimeHtml(DesignUtil.GetStringResource("TabStripNoItems"))); } return(base.GetDesignTimeHtml()); }
/// <summary> /// Called when a part of the component is changing. /// </summary> /// <param name="sender">Sender object</param> /// <param name="ce">Event arguments</param> public override void OnComponentChanged(object sender, ComponentChangedEventArgs ce) { base.OnComponentChanged(sender, ce); PropertyDescriptor selIndexDesc = DesignUtil.GetPropertyDescriptor(Component, "SelectedIndex"); if ((selIndexDesc != null) && (ce.Member == selIndexDesc)) { SelectedIndex = (int)ce.NewValue; UpdateDesignTimeHtml(); } }
/// <summary> /// Called when the Add Separator menu item is clicked. /// </summary> /// <param name="sender">The source object</param> /// <param name="e">Event arguments</param> private void OnAddSep(object sender, EventArgs e) { TabStrip strip = (TabStrip)Component; PropertyDescriptor itemsDesc = DesignUtil.GetPropertyDescriptor(strip, "Items"); if (itemsDesc != null) { // Tell the designer that we're changing the property RaiseComponentChanging(itemsDesc); // Do the change TabSeparator sep = new TabSeparator(); strip.Items.Add(sep); // Tell the designer that we've changed the property RaiseComponentChanged(itemsDesc, null, null); UpdateDesignTimeHtml(); } }