The Bunifu Form Dock component allows end-users to resize and even drag borderless forms to any area of the screen; this includes the left, right, top-left, top-right, bottom-left, bottom-right and full-screen areas.

Here are some sample previews:

Two customized borderless forms attached with Bunifu Form Dock showcasing the Docking feature and one previewing the form-transparency feature when dragging.

Two basic borderless forms with a Panel set as the Title Bar and attached to a Bunifu Form Dock component. One showcases the form-transparency feature when dragging while the other previews the docking and resizing features.


Below is another preview displaying the the Docking indicators with a customized color option, that is Khaki.


With this feature-rich component, developers will truly be greatly assisted in improving their end-user experiences when delivering applications with customized forms.

Properties

Here is a list of the properties that comes with the component:

  • AllowFormDragging - This property gets or sets a value indicating whether the parent form will be draggable.
  • AllowFormResizing - This property allows you to gets or set a value indicating whether the parent form will be resizable when borderless.
  • AllowOpacityChangesWhileDragging - This property allows you to gets or set a value indicating whether the parent form’s opacity or transparency will be changed whenever it’s being dragged on screen.
  • DockingIndicatorsColor - This property allows you to get or set the color of the docking indicators.
  • DockingIndicatorsOpacity - This property allows you to gets or set the opacity or transparency of the docking indicators.
  • FormDraggingOpacity - This property gets or sets the opacity or transparency of the parent form when dragging.
  • ShowCursorChanges - This property gets or sets a value indicating whether cursor-changes will be provided when about to dock the parent form.
  • ShowDockingIndicators - This property gets or sets a value indicating whether the docking indicators will be previewed before the parent form is docked.

DockingOptions - This property gets or sets the docking options to be used in the parent form. The list of available docking options are:

  • DockAll -  This property allows docking of the parent form in any or all of the supported screen areas.
  • DockBottomLeft - This property allows docking of the parent form at the bottom-left screen area.
  • DockBottomRight - This property allows docking of the parent form at the bottom-right screen area.
  • DockFullScreen - This property allows docking of the parent form to fill the entire screen area.
  • DockLeft - This property allows docking of the parent form at the left screen area.
  • DockRight - This property allows docking of the parent form at the right screen area.
  • DockTopLeft - This property allows docking of the parent form at the top-left screen area.
  • DockTopRight - This property allows docking of the parent form at the top-right screen area.

TitleBarOptions - This property gets or sets the list of options for selecting and managing any control that is set as the parent form’s Title Bar.

The list of available Title Bar options are:

  • TitleBarControl - This property gets or sets the control to be used as the parent form’s Title Bar.
  • DoubleClickToExpandWindow - This property gets or sets a value indicating whether the Title Bar control will expand the parent form once a user double-clicks on it.
  • UseBackColorOnDockingIndicators - This property gets or sets a value indicating whether the docking indicators will inherit the Title Bar’s background color (BackColor). When this is set to true, whenever the Title Bar control’s BackColor property changes, the DockingIndicatorsColor property will automatically change.
  • AllowFormDragging - This property gets or sets a value indicating whether the Title Bar control will be allowed to drag the parent form at runtime.

Here's a preview of a borderless form with Bunifu Form Dock at design-time:

Events

Below are the events provided with this component:

  • FormDragging - Occurs whenever the parent form is being dragged. You can make use of the FormDraggingEventArgs when handling this event.
  • DockChanged - Occurs whenever the parent form’s dock position has been changed.You can make use of the DockChangedEventArgs when handling this event.

Methods

  • SubscribeControlToDragEvents(control[Control], isPartOfTitleBar[boolean]): Subscribes any control specified to the drag event operations performed on the parent form.
  • SubscribeControlsToDragEvents(controls[Control[]], arePartOfTitleBar[boolean]): Subscribes an array of controls specified to the drag event operations performed on the parent form.
  • UnsubscribeControlToDragEvents(control[Control], isPartOfTitleBar[boolean]: Unsubscribes any control attached to the drag event operations performed on the parent form.
  • UnsubscribeControlsToDragEvents(controls[Control[]], arePartOfTitleBar[boolean]: Unsubscribes an array of controls attached to the drag event operations performed on the parent form.

That's it!

We hope Bunifu Form Dock will help improve the overall user-experience in your design process.

Should you have feedback or suggestions please send us via chat on the bottom right corner of the screen.

Did this answer your question?