SandBar Extends the ToolBar class to provide a control capable of containing other controls. This control is designed to mimic the Task Panes seen in later version of Microsoft Office. It is an extended toolbar with a different layout engine that allows controls to be placed at arbitrary locations within the toolbar. A toolbar that contains buttons, labels and other items. A SandBar layout is usually made up of one menubar and one or more toolbars. Toolbars consist of many tools laid out in a strip. These tools can be buttons, labels, dropdown menus and even other windows forms controls. Toolbars are normally parented to ToolBarContainer instances. When parented to these, toolbars can become movable by the user. Toolbars can also be used in a standalone state, i.e. parented to something other than a ToolBarContainer instance. In this mode, they are not movable. Also, they will not inherit rendering settings from the layout manager. Provides an interface for retrieving information about how a menu should be displayed. Whether to right-align menus as they project from each other. Whether to present the menu system in right-to-left layout. The Renderer to use to draw the menu system. The ImageList that will provide images to be displayed by the menu system. The ToolBar that owns the top-level menu item being shown. Whether items should be extended from objects vertically. The kind of animation to apply to menus as they are displayed. Initializes a new instance of the ToolBar class. Overridden. Overridden. Raises the ButtonClick event. The arguments associated with the event. Raises the CustomizeActionsButtonMenu event. The arguments associated with the event. Raises the EnterMenuLoop event. Raises the ExitMenuLoop event. Called when the close button applying to the toolbar is pressed. The default implementation of this method simply calls the Hide method of the toolbar. Overridden. Occurs when the effective renderer changes. Overridden. Overridden. Overridden. Docks the ToolBar in the specified container. The container to dock the toolbar in. Floats the toolbar at the specified position on the desktop. The SandBarManager controlling the layout. The location of the upper left corner of the toolbar. This method removes the toolbar from its current parent if applicable. Overridden. Called when a toolbar item is pushed with the mouse. The item that was pushed. The position of the mouse, in client coordinates. Called when a toolbar item is released after being pushed with the mouse. The item that was released. The position of the mouse, in client coordinates. Overridden. Overridden. Overridden. Overridden. Overridden. Retreives the item at the specified location. The location to check, in client coordinates. The item at the specified position. If there is no item at the specified location, the method returns null. Overridden. Overridden. Overridden. Overridden. Overridden. Occurs just before the application enters the menu loop. Occurs just after the application exits the menu loop. Occurs when a toolbar button is activated. Occurs just before the actions button menu is displayed. This event should be used to customize the appearance of the menu. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Returns an array containing types of classes that can be hosted on the toolbar by default. Developers extending SandBar can override this property to alter the default types shown by the designer to add to their toolbar. Indicates whether the ToolBar will allow itself to be merged with another. Indicates whether the toolbar has been merged with another. Indicates whether right to left layout of items in the toolbar is permitted. Designates one toolbar item to be stretched to occupy all available space. Indicates whether the last item on the toolbar is flipped to the far side of the button space. Indicates the animation performed on menu items as they are displayed. Indicates whether keyboard shortcuts are shown in tooltips. Keyboard shortcuts are retrieved from the menu associated with a button. Indicates whether the add/remove buttons option will be visible in the actions menu. The minimum desired size of the toolbar when floating. The maximum desired size of the toolbar when floating. Indicates whether the toolbar will take up the full extent of its row, where possible. Normally more than one toolbar can share a row within a ToolBarContainer instance. Setting this property to true will ensure that this toolbar will occupy the full extent of its row and will therefore not share with others. Indicates whether the user will be able to dock this toolbar at the left or right edge of the form. Indicates whether the user will be able to dock this toolbar at the top or bottom edge of the form. The unique identifier for this toolbar. All toolbars within a layout should have their own unique identifier if the layout will be persisted. Beware of copying and pasting toolbars within a layout as this could result in duplicate Guids. A toolbar is assigned a new guid when it is created, but can be assigned a new one at any time through this property. If the layout serialization engine is not working as expected, it is likely there is a duplicate guid in the toolbar layout. Indicates how toolbar items that flow off the toolbar's normal width are treated. Indicates how items are laid out within the toolbar. When a toolbar is docked in a ToolBarContainer this property will return a value depending on the side on which the container is docked. When a toolbar is floating it will always return a horizontal layout. Indicates whether the toolbar is open (visible) or not. This property should always be used instead of the Visible property because its implementation extends to floating toolbars. Reading from this property will return the correct result whether the toolbar in question is docked or floating. Indicates the line of toolbars in the container that this toolbar will be on. The SandBar toolbar layout engine uses the DockLine property to set which line within a ToolBarContainer to place a toolbar on. Any integer value is acceptable, and toolbars are sorted by this value and laid out top to bottom (or left to right in a vertical container). In the course of extensive rearranging by a user, it is not unusual for these values to become negative or fragmented. This is normal behaviour and will not affect the speed of the layout engine. Indicates the offset, in pixels, of this toolbar in the line of toolbars it belongs to. The SandBar toolbar layout engine uses the DockOffset property to set the offset of a toolbar in a row. If the offset is not available (i.e. there is another toolbar in the way, or screen space is limited) the offset is adjusted to best fit its surroundings. Toolbar cannot overlap. Indicates whether a thin extra button is drawn for chevron and add/remove items functionality. The actions button shows the actions menu when pressed. By default this menu shows one submenu, giving the user the opportunity to show and hide individual buttons on the toolbar. Also, when space is limited and buttons have been chopped off the end of the toolbar, the user can access them through this menu. Controls how the text is positioned relative to the image in each button. When text is set to reside underneath the image on a button, every button is forced to be of equal width within the toolbar. Indicates whether the ToolBar is resizable by the user. Except for ContainerBars, this property only applies to floating toolbars. Indicates whether the toolbar will display a grab handle and let the user move it within its container. Indicates whether the toolbar will allow the user to tear it out of its container in to a floating state. Indicates whether, when floating, the toolbar will display a close button. Gets or sets the collection of images available to the toolbar button items. The type of positioning and layout observed by the toolbar. Retrieves all top level menu items on the toolbar. The renderer used by the toolbar when in a standalone state. If the toolbar is within a ToolBarContainer associated with a SandBarManager, the manager's renderer will be effective instead of the toolbar's. The renderer being used by the toolbar. Although the toolbar has its own renderer, if it is part of a SandBar layout it will use the renderer belonging to the SandBarManager in charge of the layout. Use this property to obtain the renderer the toolbar is currently using. The manager being used by the toolbar. The amount of padding, in pixels, to allow before layout of items starts. The amount of padding, in pixels, to allow after layout of items finishes. Retrieves the actions button of the toolbar. This can be used to customise the menu shown when this button is dropped down. The last fixed container the toolbar belonged to. Gets the collection of toolbar items assigned to the toolbar control. Represents the method that will handle the ButtonClick event. A collection of items belonging to a toolbar. A collection of ToolbarItemBase instances belonging to a toolbar. Overridden. Overridden. Overridden. Overridden. Adds an array of toolbar items in to the collection. The array of toolbar items to add. When adding more than one toolbar item at a time you should use this method, as some logic is postponed until after the whole batch has been added, making it more efficient. Adds a toolbar item to the collection. The toolbar item to add. The new index of the toolbar item in the collection. Inserts a toolbar item in to the collection at a given offset. The position to insert the toolbar item at. The toolbar item to insert. Removes the specified toolbar item from the collection. The toolbar item to remove. Examines the collection to see if it contains the specified toolbar item. The toolbar item to look for. A value indicating whether the toolbar item was found. Returns the index of a toolbar item in the collection. The toolbar item to look for. The index of the toolbar item if found; otherwise -1. Copies the contents of the collection in to the given array, starting at the specified offset. The array to be copied in to. The index to start at. Returns the toolbar item at the specified index in the collection. Determines whether an item is suitable for adding to this collection. The item to add. A value indicating the item would be suitable. Initializes a new instance of the ContainerBar class. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. The active ClientPanel within the ContainerBar. The client area of a container bar is represented with another control, an instance of ContainerBarClientPanel. This control inherits from Panel and there can be many present within the ContainerBar. The control will show only the ClientPanel set by this property. Overridden. This property has been deprecated. Indicates the menu that will be displayed when the user clicks the titlebar. By default there is no menu associated with the titlebar. You can use this property to assign one, then the ContainerBar will assume Office task pane functionality. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Indicates the minimum desired size of this container. This property should be used to control the size of the container bar. By default the container bar can be stretched but its size will always be greater than the value of this property. A top level menu item suitable for assigning to the titlebar of a ContainerBar via its TitleBarMenu property. A base class for top-level menu items. This class contains functionality common to both MenuBarItem and DropDownMenuItem. A base class for menu items to derive from. A base class for items that can be checked. A base class for items that support both images and text. A base class providing common functionality for toolbar items. Initializes a new instance of the ToolbarItemBase class. Overridden. Raises the Activate event. Simulates the item being activated by the user. Instructs the item to draw itself. The renderer currently responsible for drawing elements of the control. The Graphics object to use for drawing and measuring. The Font object to use for drawing text. Indicates whether the item is being drawn vertically. Indicates whether the item is being drawn in a right-to-left manner. Indicates how text is aligned relative to images. The state of the item. The default implementation of this method simply calls DrawToolBarItem on the renderer passed to it. This method can be overridden to implement simple ownerdrawn items without writing a custom renderer. Creates a clone of the item. The new item with properties matching the original. Implementors should create a new instance of the item type. Creates a copy of the item with the same properties and event bindings. A clone of the item. Implementors should also override CreateClonedItem to ensure the item created is of the correct type. After calling the base method, you should copy all properties and event bindings to the new object before returning it. Calculates the layout boundaries of components within the toolbar item based on the bounds specified. The boundaries of the item within its container. A Graphics object used to calculate metrics on the toolbar. Whether the toolbar is vertically aligned. Whether the layout of the object should be right to left. Once the bounds for an item have been calculated, it knows about the rectangle onscreen that it will occupy. However there may still be layout logic to do - for instance a button must then work out the bounds of its image and text. Causes this item to redraw itself. Overridden. Creates a clone of the toolbar item. The new item that is cloned from the original. This method implements ICloneable, and simply calls the CloneItem method. Occurs when the item is activated. Indicates the font that is used to draw the item. Items by default will use the font of the container they are on. If the item is not in a container and has not had its font set explicitly, this property will return a null reference. To reset the item to use its container's font, set the property to a null reference. The colour used to draw the text on the toolbar. Indicates whether the item is hidden from the current view. This property will return true if the item has been relegated to the chevron menu due to lack of space, or the item cannot be shown in the current orientation. How to merge this item with the equivalent collection of items on a merge target. The index of the matching menu item on the target. The minimum amount of toolbar space the item will occupy. Indicates whether the item will stretch to fill all available space in its container. Indicates the importance of the item. Items with lower importance are hidden first when short of space. Gets or sets the object that contains data about the toolbar item. Gets the padding associated with the toolbar item. Padding is applied around the edges of a toolbar item. The space added by this padding is used to display the highlight when the item is selected or hovered over. The toolbar this item belongs to. The boundaries of this toolbar item, in client coordinates. The inner boundaries of this toolbar item, in client coordinates. The boundaries of the area that contains the text of the item. The text associated with this toolbar item. Text is usually displayed next to the image or control hosted by the item. Gets or sets a value indicating whether the toolbar item is visible. Gets or sets the text that appears as a ToolTip for the toolbar item. Gets or sets a value indicating whether the item is enabled. Indicates whether the item will be preceeded by a separator. A class representing the padding around a toolbar item. The padding above the toolbar item. The padding to the left of the toolbar item. The padding underneath the toolbar item. The padding to the right of the toolbar item. Initializes a new instance of the ImageItemBase class. Overridden. Overridden. Lays out the image and text portions of the button within the specified bounds. The bounds to contain the image and text. Whether the item is aligned vertically. Whether the item is laid out right to left. Overridden. Gets the imagelist that will provide the images available to the button. Gets or sets the index value of the image assigned to the button. The image assigned to the button. This property is for direct assignment of images to buttons, without going through an imagelist. This can provide a better model to work with in some cases, and circumvents certain bugs pertaining to loss or corruption of alpha channels with the imagelist component. Gets ot sets the desired icon size to extract from the icon. Windows icon files can contain more than one size of icon. When an icon file is assigned to a button, this property may need to be changed to ensure that the correct sized icon is extracted from the icon file and drawn. The icon to show in place of an image. If alpha-channel information is needed, you may wish to use this property to assign an icon to a button rather than use the ImageList and ImageIndex system. Initializes a new instance of the ButtonItemBase class. Overridden. Performs automatic toggling depending on the state of the AutoToggle property. Overridden. Indicates how the button will automatically toggle itself and its neighbours. Indicates whether the item is in a checked, or toggled, state. Initializes a new instance of the MenuItemBase class. Initializes a new instance of the MenuItemBase class, with the specified text. The text to associate with this menu item. This member is for internal use only and should not be used. Creates a user interface for the MenuItem that can be displayed. The IPopupMenuHost that will support the menu display. The user interface for the MenuItem. Overridden. Overridden. Determines whether or not a menu item contains any visible children. A boolean value indicating whether any visible children were found. Raises the BeforePopup event. The arguments representing the menu about to be displayed. Called when the menu is dismissed. The arguments to be passed to the event (no event is currently implemented). Overridden. Occurs just before a menu is displayed. Retrieves the PopupMenu being used to display the menu. Indicates the type of menu item that will be created at design time as a new child of the menu. The type must derive from MenuButtonItem. The direction in which this menu is projecting from its parent. This property should be used by renderers when deciding how to draw the border of the displayed menu. Gets a value indicating the menu that contains this menu item. Overridden. Indicates whether this menu item has any children. This property should be used instead of checking the MenuItems.Count property, as the MenuItems collection is created the first time that property is accessed. Gets a value indicating the collection of menu items associated with the menu. Represents the ways in which a menu can be displayed. The menu is a top-level menu item. The menu is being displayed as a context menu over a control. The menu is a child of another menu. Represents the method that will handle the BeforePopup event. A collection of MenuButtonItems belonging to a menu. Adds a new menu item to the collection, with the specified text. The text that will be associated with the new menu item. The new index of the menu item in the collection. Adds a new menu item to the collection, with the specified text and bound to the specified event handler. The text that will be associated with the new menu item. The event handler that will handle the Activate event. The new index of the menu item in the collection. Returns the MenuButtonItem at the specified index. Initializes a new instance of the TopLevelMenuItemBase class. Initializes a new instance of the TopLevelMenuItemBase class, with the specified text. The text to associate with this menu item. Shows the menu at the specified screen coordinates, without depending on any particular control. The position in screen coordinates at which to show the menu. The menu item that was picked by the user. If no menu item was picked, the method returns null. Shows the menu over the specified control, at the specified position. The control to display the menu on. The position to display the menu at, in client coordinates. The menu item that was picked by the user. If no menu item was picked, the method returns null. This method requires that the menu item belong to a menubar. Shows the menu over the specified control, at the specified position. The IPopupMenuHost object that will provide information on how the menu is to be displayed. The control to display the menu on. The position to display the menu at, in client coordinates. The menu item that was picked by the user. If no menu item was picked, the method returns null. This method is the only overload that does not require the menu item to belong to a menubar, since you will have to implement IPopupMenuHost in one of your own classes. Shows the menu, with keyboard focus if necessary. Whether to highlight the first item in the menu for keyboard navigation. The menu item that was picked by the user. If no menu item was picked, the method returns null. Shows the menu. The menu item that was picked by the user. If no menu item was picked, the method returns null. Overridden. Specifies a type of animation to apply to a menu as it is displayed. No animation is performed. The menu animation is decided by the operating system, which can be None, Fade or Slide. The menu appears to fade in. This method does not work with Windows 98 and Windows ME. The menu appears to slide in. The menu appears to unfold. Overridden. Overridden. Overridden. Overridden. A menu item suitable for adding to a ContainerBarTitleBarMenu. This class extends MenuButtonItem to add a ClientPanel property. When the menu item is selected, the ContainerBar's SelectedClientPanel property is set to the corresponding item. A menu item belonging to another menu item. Initializes a new instance of the MenuButtonItem class. Initializes a new instance of the MenuButtonItem class, with the specified text. The text to associate with this menu item. Overridden. Initializes a new instance of the MenuButtonItem class, with the specified text and bound to the specified event handler. The text to associate with this menu item. The event handler to bind to the Activate event. Raises the Select event. Overridden. Occurs when the menu item is focused with the mouse or keyboard. Determines whether the menu item will stay open when activated. Overridden. Indicates whether the menu item will initially be displayed in the menu or will be accessible via a chevron. The text shown as a description for the shortcut for the item. Indicates the key combination that will activate this menu item. This property is a more user friendly way of assigning to the PrimaryShortcut property and will eventually be phased out. The second key combination that will activate the item after the first is activated. This property is a more user friendly way of assigning to the SecondaryShortcut property and will eventually be phased out. The combination of keys that will activate this item. The second key combination that will activate the item after the first is activated. Overridden. Overridden. Overridden. Overridden. The ClientPanel that will be selected when the menu item is activated. Overridden. Represents the client area of a ContainerBar. See the documentation on ContainerBar.ClientPanel for more information. Initializes a new instance of the ContainerBarClientPanel class. Overridden. Overridden. An extended combobox control with support for custom rendering and default text. This control is derived from the standard windows forms combobox control and adds custom rendering to give it a flat appearance. It also allows default text to be specified for the combobox, to give the user a hint what text should be typed within. Initializes a new instance of the FlatComboBox class. Overridden. The arguments associated with the event. Overridden. The arguments associated with the event. Overridden. The arguments associated with the event. Called when the default text has been changed. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Occurs when the default text is changed. The text to display in the control when no data has yet been entered. Overridden. Extends the ToolBar class to provide menuing functionality. The MenuBar is responsible for MDI functionality and keyboard accelerators within the SandBar toolbar layout. Initializes a new instance of the MenuBar class. Overridden. Overridden. Overridden. Finds the context menu associated with the specified notification icon. The notification icon to search. The context menu if one was found; otherwise null. Assigns a context menu to a notification icon. The icon you wish to display a SandBar menu on. The top level menu to display. To remove a context menu from a notification icon pass a null reference to the value parameter. Finds the context menu associated with the specified control. The control to search. The context menu if one was found; otherwise null. Assigns a context menu to a windows forms control. The control that will show the context menu. The menu that will be shown as a context menu. This method should always be used to assign context menus to controls. A common mistake is to rely on the MouseUp event of the control and show a menu manually if the right button was pressed. This method is flawed in many ways, most of all it will not work if the user presses the context menu button on their keyboard. To remove a context menu from a control pass a null reference to the value parameter. Overridden. Overridden. Overridden. Overridden. Indicates whether the MDI system menu will be shown for maximized MDI children. Indicates which mdi buttons will be displayed when an mdi child form is maximized. The form to which this menu bar belongs. This property must be set to take advantage of many of the features the menu bar provides, including MDI functionality and certain methods of menu navigation via the keyboard. If the menu bar is part of a toolbar layout this property will be set automatically by the SandBarManager. However if the menu bar is being used in a standalone state you will need to set this property in code. Overridden. The instance of ShortcutListener that the MenuBar is using to intercept keyboard accelerators. Indicates whether keyboard mnemonics are always shown on the menu bar. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Indicates possible combinations of MDI system buttons to display on the menubar. Do not display any MDI system buttons. Display the minimize, restore and close system buttons. Display only the close system button. Contains global text strings used by SandBar in rendering. The text displayed for the restore menu. The text displayed for the move menu. The text displayed for the size menu. The text displayed for the minimize menu. The text displayed for the maximize menu. The text displayed for the close menu. The text displayed in the tooltip over mdi minimize buttons. The text displayed in the tooltip over mdi restore buttons. The text displayed in the tooltip over mdi close buttons. The text displayed in the toolbar actions button for adding and removing buttons. The text displayed in the tooltip for toolbar actions buttons. A manager responsible for linking instances of ToolBarContainer and ToolBar together in to one layout. A manager is necessary if toolbars will be moved, torn off or have their layout persisted. A toolbar layout should consist of four ToolBarContainer instances, one docked to each side of a form. These should be assigned to the manager with the LeftContainer, RightContainer, TopContainer and BottomContainer properties. Once a SandBar layout is constructed in this manner, toolbars can be added to the ToolBarContainer instances and they will be movable by the user. Layout persistance is achieved with the GetLayout and SetLayout methods of this class. Initializes a new instance of the SandBarManager class. Initializes a new instance of the SandBarManager class. An IContainer that the new instance will add itself to. Finds a ToolBarContainer docked at the specified side of a container. The side on which to find a container. The ToolBarContainer found. Returns an array containing all toolbars in the toolbar layout. An array of toolbars. Returns an array containing all containers in the toolbar layout. An array of containers. Adds a toolbar to the layout system without adding it to a container. The toolbar to add. In some circumstances you will want to give the manager knowledge of a toolbar without making it visible anywhere. For instance, in a large application that loads toolbars dynamically from plugins, this method would be called for each toolbar before finally calling SetLayout to load a stored toolbar layout. The manager would then recognise the toolbars referred to in the persisted layout. Removes a toolbar from the layout system. The toolbar to remove. See the documentation for the AddToolbar method for why this method is necessary. Restores a toolbar layout retrieved previously with the GetLayout method. The layout to restore. You should ensure your form is visible prior to calling this method, as it has the potential to load floating toolbars. Floating toolbars cannot be loaded correctly unless they are assigned an owner form, which must be visible. The recommended practice for restoring a stored toolbar layout is to wait until all other form initialization code is complete (i.e. after the InitializeComponent call), then call Show(), then call SetLayout. Finds the toolbar with the specified guid in the toolbar layout. The guid to search for. The toolbar with the specified guid. If no toolbar was found, the method returns null. Finds the toolbar container with the specified guid in the toolbar layout. The guid to search for. The toolbar container with the specified guid. If no container was found, the method returns null. Returns a string containing XML representing the current layout of toolbars within the layout system. A string containing layout information. Returns a string containing XML representing the current layout of toolbars within the layout system. If true, instructs the method to include toolbar item visibility information. A string containing layout information. SandBar by default allows users to show and hide buttons on a toolbar via the actions button. If the includeItemVisibility parameter is true, button visibility information is persisted along with toolbar layout status. Returns the outer boundaries of the toolbar layout system, in screen coordinates. A rectangle representing the boundaries of the layout system. Overridden. Merges items from the one toolbar in to another, governed by the MergeAction and MergeIndex properties of items. The toolbar containing the source items to merge. The toolbar containing the destination items to merge with. Reverts the specified toolbar to its state before the last merge operation. The toolbar to revert. The toolbar merged with the specified toolbar is also reverted to its former state. Dismisses any open SandBar menus. Retrieves the menubar associated with this toolbar layout. A toolbar layout should have at most one menubar. Menubars are given special treatment in several circumstances. Indicates whether the manager will display a context menu allowing the user to show and hide toolbars. This feature is enabled by default, and allows the user to choose which toolbars are visible in the application. They will only be able to change a toolbar's visible state if its Closable property is set to true. Indicates whether low importance menu items are enabled on a manager-wide basis. This option is useful when you need a global setting in your application to disable low importance menu items. Specifies how menu items are activated after they are picked by the user. Identifies the form associated with this toolbar layout. This property should always be assigned to before a layout is complete. Knowledge of the form the layout is displayed on is essential for correct behaviour of SandBar. The renderer currently in use by the toolbar layout. Overridden. Extends the ToolBar class to provide statusbar functionality. Initializes a new instance of the StatusBar class. Overridden. Overridden. Overridden. Overridden. Overridden. Indicates whether a gripper will be shown that the user can use to resize their form. The form to which the statusbar belongs. This property must be set to take advantage of the resize gripper displayed by the statusbar. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Specifies the alignment of text relative to the image in a toolbar button. The text will be displayed by the side of the image. The text will be displayed underneath the image. A control responsible for layout out toolbars and linking them with a SandBarManager instance. Four of these controls should exist in each SandBar layout. Their Manager property should be set immediate after creating them. Initializes a new instance of the ToolBarContainer class. Find the next available dock line in this container. The next available dock line. When adding several toolbars to a container it can be useful to ensure that the toolbar ends up at the bottom, after any other toolbars that are present. Use this method to find the next available dock line and then assign it to the DockLine property of the toolbar once you have added it. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. A unique identifier for the ToolBarContainer. ToolBarContainers need unique identifiers for layout serialization purposes. If any containers have the same identifier serialization will not work correctly. The SandBarManager instance associated with this ToolBarContainer. This class is designed to support the SandBar library and should not be used. This method is used by internal SandBar designers and is not intended to be used by other code. This member is designed to support the SandBar library and should not be used. This class is designed to support the SandBar library and should not be used. This member is designed to support the SandBar library and should not be used. Specifies how a menu item is activated after it is picked by the user. The menu item is activated immediately. There will be no chance for a redraw before the activation code is run. Application.DoEvents() is automatically called before the menu is activated. Specifies how a button will automatically toggle itself upon being clicked. The button will not automatically toggle itself. The button will toggle between checked and unchecked. The button will check itself and uncheck any other buttons in its group. The importance of an item within its container. When the size of a toolbar is not great enough to accommodate all its items, some items disappear. The order in which they disappear can be controlled via item importance. The least important items disappear first, the most important last. This enumeration is also used in menus, where only the Low and Medium options are allowed. Low importance items are not initially displayed when their parent menu is. The lowest level of importance. A low level of importance. Medium importance. This the default value. A high level of importance. The highest level of importance. Specifies the direction of a menu relative to its parent. The menu is displayed on top of its parent. The menu is displayed underneath its parent. The menu is displayed to the left of its parent. The menu is displayed to the right of its parent. Describes how an item item interacts with the equivalent collection of items on a target. The item is added to the end of the collection. The item is inserted before the item at MergeIndex. The item's children are merged with the children of the item at MergeIndex. The item at MergeIndex is removed from its collection. The item at MergeIndex is replaced with the source item. Indicates the behaviour of toolbar items that would normally overflow past the end of the toolbar. Items are hidden from view and are not available. Items are accessible via a dropdown menu. Items are wrapped to the next line within the toolbar. Indicates the flow of toolbar items in the client area of a toolbar. Items are laid out horizontally. Items are laid out vertically. Indicates the type of positioning observed by a toolbar. The toolbar is not subject to external layout. The toolbar is laid out in a group of other toolbars. The toolbar is floating. Provides data for the SecondaryShortcutReceived event on ShortcutListener instances. Indicates whether this is the first or second shortcut in the chord. The first shortcut in the chord. The second shortcut in the chord. The item that is about to be activated, if any. Provides data for the ButtonClick event on ToolBar instances. Initializes a new instance of the ToolBarItemEventArgs class. The toolbar item that was activated. The toolbar item that was activated. A menu item that will be displayed as a context menu on another control. Any toplevel menu item can be displayed as a context menu, however this class extends MenuBarItem to give it the default properties most commonly used by context menus. A top-level menu item that will be displayed on a menu bar. This class adds Mdi Window functionality to the standard top level menu class. Initializes a new instance of the MenuBarItem class. Initializes a new instance of the MenuBarItem class, with the specified text. The text to associate with this menu item. Overridden. Overridden. Overridden. Indicates whether form icons should be shown in the mdi window list. Indicates whether this item will show a list of mdi children. If set to true, this menu bar item will present a list of mdi children when dropped down, if the menubar is in an mdi environment. The user can then pick an mdi child form from the list and it will be brought to the front. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Initializes a new instance of the ContextMenuBarItem class. Overridden. Overridden. A menu item that will be placed on a toolbar and dropped down to reveal child menuitems. This class should be used when a dropdown button is required on a standard toolbar. It provides an extra image list property to override the default image list used by the menu. Initializes a new instance of the DropDownMenuItem class. Overridden. Overridden. Gets or sets the collection of images available to the child menu items. By default, menu items use the toolbar's image list to display their images. However in some instances you may wish to have a different set of images for the dropdown menu, especially if the toolbar uses large images. Overridden. A toolbar item that contains a windows forms progressbar control. This item is meant to contain a progressbar, not necessarily reflect all its properties. It only exposes the most common properties of the contained progressbar control. For access to any other properties, events and methods, you should use the ProgressBar property that exposes the contained progressbar. A base class for implementing toolbar items that contain windows forms controls. Initializes a new instance of the ControlContainerItem class, with the specified control. The control to host in the toolbar. Overridden. Sets focus to the control if the control supports it. Overridden. Overridden. Overridden. Overridden. The text contained in the control. Sets the minimum acceptable width of the hosted control. Sets the height of the hosted control. If the hosted control does not accept the height passed to it, setting this property will have no effect. The control contained within this item. Overridden. Overridden. Initializes a new instance of the ComboBoxItem class. Overridden. Overridden. Wraps the Minimum property of the inner ProgressBar. Wraps the Maximum property of the inner ProgressBar. Wraps the Value property of the inner ProgressBar. Gets the windows forms progressbar control contained by this item. An item to be displayed on a StatusBar. An item for displaying text on a toolbar. Initializes a new instance of the LabelItem class. Overridden. Initializes a new instance of the StatusBarItem class. Overridden. Overridden. Overridden. Indicates whether a border is drawn around the item. A toolbar button. This is the standard class to be used for buttons on a toolbar. Initializes a new instance of the ButtonItem class. Overridden. Calls the OnActivate method of the BuddyMenu if one is present. The MenuItem to invoke when the user clicks this button. Using the BuddyMenu property to associate the toolbar button with a menu item is a great way to cut down on repeated code. Once you have bound the button to a menu in this way, the menu's Activate event will be called instead of the toolbar's ButtonClick event when the button is clicked. Also, when the Enabled and Checked properties of the menu item are changed these will be automatically reflected in the toolbar button too. A toolbar item that contains a windows forms combobox control. This item is meant to contain a combobox, not necessarily reflect all its properties. It only exposes the most common properties of the contained combobox control. For access to any other properties, events and methods, you should use the ComboBox property that exposes the contained combobox. Initializes a new instance of the ComboBoxItem class. Initializes a new instance of the ComboBoxItem class. The ComboBox to host. Overridden. Gets the windows forms combobox control contained by this item. Gets or sets the default text to display in the combobox. Gets the collection of items contained in this combobox. Gets or sets a value specifying the style of the combo box. The ComboBoxStyle.Simple style is not available through this property. Provides data for the BeforePopup event on MenuItemBase instances. Indicates whether the menu popup will be cancelled. Indicates whether the menu is being shown using the keyboard, and hence may need its position adjusting manually. The mode in which the menu is being displayed. The control on which the menu is being displayed. The point, in screen coordinates, around which the menu will be aligned. This property is only used for a menu being displayed standalone, i.e. a context menu. Provides the user interface for a menu dropdown. Initializes a new instance of the PopupMenu class, for the specified menu and using the specified IPopupMenuHost. The menu whose children will be drawn. The IPopupMenuHost to govern drawing and layout. Overridden. Enables tooltips to be shown on items that have them. Shows the menu interface with the specified animation. The type of animation to use when showing the interface. Overridden. Retreives the item at the specified location. The location to check, in client coordinates. Overridden. Lays out the children of the menu item within the bounds of the user interface. A Graphics object to calculate metrics with. The boundaries of the area the children must reside in. Paints the items belonging to the menu. A PaintEventArgs containing required objects. Indicates whether the specified MenuButtonItem should be drawn with a highlight. The MenuButtonItem that could be highlighted. A value indicating whether a highlight is necessary. This method will return true in different circumstances depending on whether the menu is running in design mode or not. Overridden. Overridden. Overridden. The menu that the PopupMenu is showing the items for. The ideal size of the client area for displaying child items. Retrieves the area of the menu in which items should be displayed. The offset, in pixels, of the child items in the menu. The IPopupMenuHost that supports drawing of and laying out of the menu item. Overridden. Represents the method that will handle the SecondaryShortcutReceived event of the ShortcutListener class. Provides functionality to listen for keyboard shortcuts and trigger associated menu items. Initializes a new instance of the ShortcutListener class. Raises the SecondaryShortcutAction event. Overridden. Stops the ShortcutListener from listening, if it is currently doing so. Repopulates the accelerator table from an array of menu items. The menu items containing shortcuts. Repopulates the accelerator table from eligible items in a toolbar or menubar. The toolbar containing one or more menu items. Compiles a list of the items with the specified shortcut. The shortcut to look for. An array of menu items. Locates the MenuButtonItem associated with a keyboard shortcut and activates it. The keys that triggered the shortcut. Whether this is a primary shortcut. A value indicating whether the shortcut was processed. The shortcut will not be processed if a corresponding menu item cannot be found, or if the menu item or any of its parents is disabled. Tests to see if a shortcut is within the scope of the ShortcutListener. The keys that triggered the shortcut. A value indicating whether further processing is required. Keyboard shortcuts are caught on an application-wide basis. This method should return whether or not a shortcut should be passed on to its corresponding menu item. The default implementation of this method checks to see whether the currently active form is the one that has been assigned to the listener via its OwnerForm property, or one owned by it. Raised when the first key combination in a dual chord is pressed. The Form that owns the ShortcutListener. The default implementation of ShortcutListener will not process shortcuts unless this property is assigned and the form passed is or owns the foreground window when a shortcut is triggered. Indicates whether the ShortcutListener is currently listening for shortcuts. Indicates whether the ShortcutListener is waiting for the second key combination of a chord to be activated. Provides an interface for custom drawing of combobox controls. Draws a combo box. The ComboBox that will be drawn. The Graphics object to draw with. The bounds around the area to draw. The state of the combobox. Whether to draw the combobox in a right-to-left layout. Provides an interface for drawing elements of a container bar. Calculates the positions of the child elements within the container bar. The bounds to use as a base for calculation. The size required for the toolbar portion of the bar. The bounds of the titlebar. The bounds of the toolbar. The bounds of the client area. The bounds of the gripper. Draws the text in the titlebar of a container bar. The text to draw. The Graphics object to draw with. The font to draw text with. The bounds around the area to draw. Draws the background of a container bar. The ContainerBar whose background will be drawn. The Graphics object to draw with. The bounds around the area to draw. The bounds around the client area of the container bar. Implementors should ensure that everything within the bounds specified is filled. Draws the background of the client area of a container bar. The Graphics object to draw with. The bounds around the area to draw. Draws the background of the titlebar in a container bar. The Graphics object to draw with. The bounds around the area to draw. Whether the container bar contains the focus. Draws the background of the toolbar in a container bar. The Graphics object to draw with. The bounds around the area to draw. Provides an interface for drawing elements of a SandBar menu system. Draws the background of a menu. The Graphics object to draw with. The bounds around the area to draw. The width, in pixels, of the menu margin. The offset, in pixels, of the break in the menu border. The size, in pixels, of the break in the menu border. The direction this menu item is projecting from its parent. Whether to draw the menu in right-to-left layout. Whether the menu is right-aligned with its parent. Draws a menu item. The Graphics object to draw with. The menu item to draw. The IPopupMenuHost to provide drawing information and services. The width, in pixels, of the menu margin. The state of the menu item. Whether this is an item displayed in a persistant menu. Draws a separator between two menu items. The Graphics object to draw with. The bounds to draw the separator in. The width, in pixels, of the menu margin. Whether to draw the separator in right-to-left layout. Draws the actions item in a menu. The Graphics object to draw with. The bounds around the area to draw. The width, in pixels, of the menu margin. The state of the actions button. Whether the menu is being displayed in design mode. Gets the text formatting flags to use for menu items. Gets the colour used as a base to draw menu shadows. A type of glyph that is shown on or around a toolbar. A close glyph. A minimize glyph. A restore glyph. An actions glyph. Provides an interface for drawing elements of a ToolBar layout system. Notifies the renderer that it is being consumed by another class. The new consumer. Notifies the renderer that it is no longer being consumed by another class. The old consumer. Initializes a renderer by preparing it for a rendering session. The toolbar that will be rendered. Whether the toolbar is aligned vertically. Whether items should be drawn right-to-left. Implementors should initialize any shared objects used throughout the render process in this method. Cleans up any objects created in the StartToolBarRender method. Draws the background of a statusbar. The statusbar whose background will be drawn. The Graphics object to draw with. The bounds around the area to draw. Whether the statusbar is vertically aligned. Implementors should ensure that everything within the bounds specified is filled. Draws the gripper used to resize a form from a statusbar. The statusbar whose gripper will be drawn. The Graphics object to draw with. The bounds around the area to draw. Whether the statusbar is vertically aligned. Draws the background of a toolbar. The toolbar whose background will be drawn. The Graphics object to draw with. The bounds around the area to draw. Whether the toolbar is vertically aligned. Implementors should ensure that everything within the bounds specified is filled. Draws the background of a menubar. The menubar whose background will be drawn. The Graphics object to draw with. The bounds around the area to draw. Whether the toolbar is vertically aligned. Implementors should ensure that everything within the bounds specified is filled. Draws a toolbar grab handle. The Graphics object to draw with. The bounds around the area to draw. Whether the toolbar is vertically aligned. Draws a system button on a toolbar. The Graphics object to draw with. The bounds around the area to draw. The type of glyph to draw in the button. The state of the button. Whether the toolbar is floating. Draws the background of a toolbar container. The Graphics object to draw with. The bounds around the area to draw. The bounds of the toolbar layout system, in client coordinates. Draws a separator on a toolbar. The Graphics object to draw with. The bounds around the area to draw. Whether the toolbar is vertically aligned. Draws the actions button on a toolbar. The Graphics object to draw with. The bounds around the area to draw. Whether the toolbar is vertically aligned. Whether to display a chevron marker on the button. The state of the button. Whether the toolbar is in design mode. Implementors may wish to draw an alternative glyph on the button while the toolbar is in design mode, as at this time clicking the button adds a new button to the toolbar. Draws a toolbar item. The toolbar item to draw. The Graphics object to draw with. The font to draw text with. Whether the toolbar is vertically aligned. The state of the item. The alignment of text relative to any image in the button. Draws the background of a floating form, including titlebar and border. The Graphics object to draw with. The bounds around the area to draw. Draws text on to the caption of a floating form. The text to draw. The Graphics object to draw with. The font to draw text with. The bounds that will contain the text. Occurs when the renderer has changed. The text format flags to be applied to text displayed on the toolbar. A renderer that mimics the appearance of Microsoft Office 2002. A base class for Microsoft Office style renderers to inherit from. Initializes a new instance of the OfficeRendererBase class. Please see the interface documentation for help on this member. Please see the interface documentation for help on this member. Forces the renderer to recalculate all its colours. After customising colours it is sometimes desirable to have the renderer go back to its original colours which are often derived from system or theme colours. Calling this method should recalculate such colours. This method is automatically called when the system colours change (if the user has not customised colours already) or when the CustomColors property is set back to false. Raises the RedrawRequired event. Overridden. Draws a coloured square indicating a highlight around a button. The Graphics object to draw with. The bounds around the area to draw. The state of the highlight. Whether to draw a dropdown section in the highlight. Draws an image within the specified bounds, and in the specified state. The image to draw. The Graphics object to draw with. The state of the image. The bounds around the area to draw. Draws an image from an ImageList within the specified bounds, and in the specified state. The ImageList that contains the image to draw. The index of the image within the ImageList. The Graphics object to draw with. The state of the image. The bounds around the area to draw. This method should be used as the primary method of drawing an image. It should use the Draw method of the ImageList passed to save the temporary bitmap created from using the Images collection. Only if the image needs to be changed in some way before drawing (i.e. disabled or faded) should this method revert to the other overload. Draws an icon within the specified bounds, and in the specified state. The icon to draw. The Graphics object to draw with. The state of the image. The bounds around the area to draw. Where the image to be drawn is coming from an ImageList, the other overload of this function should be used first. Obtains a color suitable for drawing the specified item. The item whose text is about to be drawn. The state of the item. A color structure. Overridden. Draws the highlight of an open dropdown item. The Graphics object to draw with. The toplevel item to draw. Draws a toolbar button item. The button item to draw. The Graphics object to draw with. The font to use for drawing text. Whether the toolbar is vertically aligned. The state of the button. The alignment of text relative to images in the button. Draws a statusbar item. The statusbar item to draw. The Graphics object to draw with. The font to use for drawing text. Whether the toolbar is vertically aligned. The state of the item. Draws a string of text within the specified bounds, in the specified state. The string of text to draw. The Graphics object to draw with. The font to use for drawing text. The color of the text. The state of the text. The bounds that contain the text. The TextFormatFlags that control how the text is drawn. Draws a string of text within the specified bounds, in the specified state. The string of text to draw. The Graphics object to draw with. The font to use for drawing text. The color of the text. The state of the text. The bounds that contain the text. The TextFormatFlags that control how the text is drawn. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Please see the interface documentation for help on this member. Indicates whether the renderer is automatically disposed when unassigned from the last consumer. Gets/sets a value indicating whether custom colours have been used in this renderer. Overridden. Overridden. Overridden. Initializes a new instance of the Office2002Renderer class. Overridden. Overridden. Overridden. Calculates colours that are automatically derived from the base renderer colours and are non-customisable. Mixes two colours together to form a new colour. The first source colour. The second source colour. A value that lies between 0 and 1, 0 being the first colour and 1 being the second. The new colour produced after mixing. Increases the brightness of a colour. The colour whose brightness will increase. A value to alter the RGB components of the colour by, from -255 to 255. The new colour produced after brightness alteration. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. The colour used to draw the background of status bars. The colour used to draw highlights behind buttons. This colour may not be the exact colour used; SandBar may extrapolate additional colours using this as a base. The colour used to draw the background of toolbars. The colour used to draw the background of menus. Overridden. Overridden. Overridden. A renderer that mimics the appearance of Microsoft Office 2003. Initializes a new instance of the Office2003Renderer class. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Draws the margin of a menu. The Graphics object to draw with. The bounds of the area to draw. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. The Office 2003 colour scheme used to render toolbars. Gets/sets the colour used to draw the text of the titlebar on a floating toolbar. Gets/sets the colour used to draw the background of the titlebar on a floating toolbar. Gets/sets the colour used to draw the background of toolbars within a container bar. Gets/sets the colour used to draw the start of the container bar background gradient. Gets/sets the colour used to draw the finish of the container bar background gradient. Gets/sets the colour used to draw the border of container bars. Gets/sets the colour used to draw grab handles. Gets/sets the colour used to draw the border at the bottom of toolbars. Gets/sets the colour used to draw the top of the toolbar actions button. Gets/sets the colour used to draw the bottom of the toolbar actions button. Gets/sets the colour used to draw the border around button highlights. Gets/sets the colour used to draw the start of toolbar background gradients. Gets/sets the colour used to draw the finish of toolbar background gradients. Gets/sets the colour used to draw toolbar separators. Gets/sets the colour used to draw the start of toolbar container background gradients. Gets/sets the colour used to draw the finish of toolbar container background gradients. Overridden. A colour scheme to be used with the Office 2003 renderer. SandBar will use the current Windows XP theme if available, otherwise fall back to standard Windows colours. SandBar will use standard windows colours. SandBar will use colours from the Luna Blue theme in Windows XP. SandBar will use colours from the Luna Olive theme in Windows XP. SandBar will use colours from the Luna Silver theme in Windows XP. Specifies a type of color scheme that can be used by an Office 2007 renderer. Items are drawn in blue colors to match the Windows XP Luna Blue theme. Items are drawn in silver colors to match the Windows XP Luna Silver theme. Items are drawn in dark colors to match the Windows Vista Aero theme. A renderer that mimics the appearance of Office 2007. Initializes a new instance of the Office2007Renderer class. Overridden. Overridden. Overridden. Overridden. Overridden. Overridden. Applies colors appropriate for the blue color scheme. Applies colors appropriate for the silver color scheme. Applies colors appropriate for the black color scheme. Overridden. Overridden. Overridden. Overridden. The color scheme in use by the renderer. A renderer that mimics the appearance of Microsoft Visual Studio 2005. Initializes a new instance of the WhidbeyRenderer class. Overridden. Overridden. Overridden.