Control

Wisej.Web.Control

Namespace: Wisej.Web

Assembly: Wisej.Framework (3.5.0.0)

Base class for all Wisej controls.

public class Control : IWisejControl, IWisejComponent, IBindableComponent, IWisejSerializable, IHasPropertyStore, IHasResponsiveProfiles, IDropTarget

Constructors

Initializes a new instance of the Control class.

Properties

String: Returns or sets the description that will be reported to accessibility client applications. It is assigned to the "alt" attribute of the browser element. (Default: null)

String: Returns or sets the name of the control for use by accessibility client applications. It is assigned to the "name" attribute of the browser element. (Default: null)

AccessibleRole: Returns or sets the accessible role of the control that will be reported to accessibility client applications. It is assigned to the "role" attribute of the browser element. (Default: Default)

Boolean: Returns or sets whether the control can initiate a drag-drop operation. (Default: False)

Boolean: Returns or sets whether the control can accept data that the user drags onto it. (Default: False)

AnchorStyles: Returns or sets the edges of the container to which a control is bound and determines how a control is resized with its parent. (Default: Top, Left)

Boolean: Returns or sets whether the control receives pointer events. Anonymous controls let pointer events bubble to their parents. (Default: False)

String: Sets the appearance key for the theme engine. (Default: null)

Color: Returns or sets the background color for the control.

Image: Returns or sets the background image displayed in the control. (Default: null)

ImageLayout: Returns or sets the background image layout as defined in the ImageLayout enumeration. (Default: None)

String: Returns or sets the background image displayed in the control. (Default: null)

Boolean: Returns a flag indicating that the control is becoming the active control.

BindingContext: Returns or sets the BindingContext for the control.

Int32: Returns the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area.

Rectangle: Returns or sets the size and location of the control including its non-client area, in pixels and relative to the parent control.

Boolean: Determines whether the control can execute a command.

Boolean: Returns whether the control can receive focus.

Boolean: Returns whether the control can be selected.

Boolean: Returns or sets whether the control has captured the mouse.

Boolean: Returns or sets whether the control causes validation to be performed on controls that require to be validated when this control receives focus. (Default: True)

ClientEventCollection: Returns a collection of client events and JavaScript listeners. You may attach multiple listeners to same event.

You can use this collection at design time or in code or through the listener methods:

Rectangle: Returns the client rectangle of the control.

Size: Returns or sets the height and width of the client area.

Boolean: Indicates whether the control, or one of its child controls, has the input focus.

ContextMenu: Returns or sets the shortcut menu associated with the control. (Default: null)

ControlCollection: Returns the collection of controls contained within the control.

Boolean: Returns a value indicating whether the control has been created.

String: Returns or sets additional CSS class names to add to the widget.

Use this property to add or remove custom CSS classes that you may add to your application as standard css files or through the StyleSheet extender. You can assign multiple class names separated by a space and you can manage this property using the related methods:

String: Returns or sets the custom CSS styles to add to the widget.

You can use any CSS style string.



  // set the border radius to 100% and make the control round.
  this.button1.CssStyle = "border-radius:100%";

Cursor: Returns or sets the cursor that is displayed when the mouse pointer is over the control. (Default: null)

ControlBindingsCollection: Returns the data bindings for the control.

Color: Returns the default background color of the control.

Font: Returns the default font of the control.

Color: Returns the default background color of the control.

Rectangle: Returns the rectangle that represents the virtual display area of the control.

Boolean: Returns whether the control is in the process of disposing itself and child controls.

DockStyle: Returns or sets which control borders are docked to its parent control and determines how a control is resized with its parent. (Default: None)

Boolean: Returns or sets whether the control can respond to user interaction.

Boolean: Enables or disables the browser's context menu.

Boolean: Returns or sets whether the control can gain the focus. (Default: True)

Boolean: Returns a value indicating whether the control has input focus.

Font: Gets or sets the font of the text displayed by the control.

Color: Returns or sets the text color of the control.

IntPtr: Returns the unique server-side id (handle) for this component.

Boolean: Returns whether the control contains any child control.

Boolean: Returns whether the control specifies data bindings.

Boolean: Check if the control defines any responsive profile without forcing the creation of the collection.

Boolean: Checks if the UserData dynamic object was created and has any value.

Int32: Returns or sets the height of the control.

String: Returns or sets an initialization script to execute when the widget is created (or reloaded) in the browser.

Use this property to add custom initialization JavaScript that is always executed when the client widget is created. The context (this) of the script is the instance of the widget. You can use the entire qooxdoo and wisej.js api. See #qx and wisej-js.


  // change the background color of the internal label of the button widget.
  this.button1.InitScript = "this.getChildControl('label').setBackgroundColor('red')";

  // attach a JavaScript event handler.
  this.textBox1.InitScript = @"this.addListener('keydown', function(e) {
    if (e.getKeyIdentifier() == "PageDown") {
      alert('You pressed PageDown.');
    }
  });

You may also use the init script to attach events to the widget or to its internal children. Event handlers can also be attached using the ClientEvents collection and the client events methods:

Boolean: Returns true when this control belogs to a session different than the currently executing thread.

Boolean: Returns whether the control has been disposed.

Boolean: Returns if the control has a server-side component id (handle) associated with it.

Boolean: Returns whether the control is mirrored.

LayoutEngine: Returns the control's layout engine.

Int32: Returns or sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area.

Point: Returns or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.

Padding: Returns or sets the space between controls.

Size: Returns or sets the maximum size for the control.

Size: Returns or sets the minimum size for the control.

Keys: Returns a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state.

MouseButtons: Returns a value indicating which of the mouse buttons is in a pressed state.

Point: Returns the position of the mouse cursor in screen coordinates.

Boolean: Returns or sets whether the control can be moved by dragging.

String: Gets or sets the name of the control.

Padding: Returns or sets padding within the control.

Control: Returns or sets the parent container of the control.

Size: Returns the preferred size in which the control can fit.

AnchorStyles: Returns or sets the edges of the control that can be dragged to resize the control.

ResponsiveProfileCollection: Returns the collection of responsive properties that have been set for this control.

Int32: Return the distance, in pixels, between the right edge of the control and the left edge of its container's client area.

RightToLeft: Returns or sets whether the control's elements are aligned right-to-left to support RTL languages.

When set to Inherit, the control inherits the value of this property from its parent. However, when the control is a top-level control (i.e. Window, Page, Desktop), and the value is set to Inherit, the right-to-left mode is automatically retrieved from the current language.

The behavior of this property is configurable in Default.json setting the "rightToLeft" property to "true", "false", or "auto". The default is "auto", causing the value to be retrieved from the current language.

Boolean: Returns or sets whether the text in the control can be selected in the browser by the user by dragging the pointer. Since 2.5.22 (Default: False)

Not to be confused with Selectable, which corresponds to the Focusable property. When Selectable is set to true, the text of the control (i.e. a label or a button) can be highlighted in the browser and copied to the clipboard. It will also make the widget "focusable" but only in the browser.

Boolean: Returns or sets whether the control is blocked by the ajax loader. (Default: False)

Size: Returns or sets the height and width of the control.

String[]: Returns or sets additional theme states to the client widget.

Use this property to manage additional custom states that you may want to add to a widget. The state will update the visualization of the widget using the styles and properties set in the current theme and loaded theme mixins. You can also force the usage of built-in states. However, this property will not return the current states of the widget as updated by the client browser. It only returns the states set by the application.


  // force the widget to update the UI as if it was hovered and focused.
  this.button1.States = new [] { "hovered", "focused" };

  // apply a custom state defined in a custom theme or theme mixing.
  this.panel1.States = new [] { "alert" };

In addition to setting this property directly, you can also manage it using the related methods:

Since 3.5.5 Add a + after the name of the state to propagate the state to the child controls of the widget. See also AddState.

Int32: Returns or sets the tab order of the control within its container.

Boolean: Returns or sets whether the user can give the focus to this control using the TAB key and the Focusable property is set to true. (Default: True)

Object: Returns or sets the object that contains data about the control. (Default: null)

String: Returns or sets the text associated with this control. (Default: "")

When AllowHtml is set to true, the text can contain HTML content. If the text contains new lines (CRLF) but doesn't contain HTML elements (at least one "<") all CRLF are automatically substituted with "<BR/>".

String: Returns or sets the tooltip text to show for this control. (Default: "")

When using ToolTipText property you can only set the ToolTip text and cannot change the default ToolTip icon set in the theme. To change the ToolTip icon you can either create a custom theme, or a theme mixin, or use the ToolTip extender and the ToolTipText property added by the extender. You can change the default ForeColor, AutomaticDelay, InitialDelay, AutoPopDelay, or enable HTML in ToolTipText by using a ToolTip extender also without setting the ToolTipText property added by the extender.

Int32: Returns or sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area.

Control: Returns the parent control that is not parented by another Form. Typically, this is the outermost Form that the control is contained in.

Object: Returns a dynamic object that can be used to store custom data in relation to this control.

Boolean: Returns or sets whether to use the wait cursor for the current control and all child controls. (Default: False)

Boolean: Returns a flag indicating that the validation has been canceled.

Boolean: Returns or sets whether the control and all its child controls are displayed.

Int32: Returns a value indicating the wheel delta from the last wheel event.

Int32: Returns or sets the width of the control.

Methods

Adds a new listener script to the event name to the client widget.

ParameterTypeDescription

name

Name of the client event to attach the listener to.

script

JavaScript code to execute when the event occurs.

Returns: Int32. An integer id that you can use to remove the listener from the event using RemoveClientEventListener or to retrieve the listener script code using GetClientEventListener.

The script will execute in the browser when the event name occurs. You can attach multiple listeners to the same event.

Adds the CSS class name to the widget element. If the class already exists in the CssClass it's not added.

ParameterTypeDescription

name

Name of the css class to add.

Returns: String. The new value of the CssClass property.

Adds the specified theme state to the widget.

ParameterTypeDescription

state

Name of the custom state to add to the widget.

Returns: String[]. The new list of states stored in the States property.

You can also assign a new array of states to the States property.

Adds the specified theme state to the widget and optionally propagates it to the child components when forward is true. Since 3.5.5

ParameterTypeDescription

state

Name of the custom state to add to the widget.

forward

true to propagate the state to the widget's child components.

Returns: String[]. The new list of states stored in the States property.

You can also assign a new array of states to the States property.

Executes the specified delegate asynchronously, in the context of the session that owns the control.

ParameterTypeDescription

method

A delegate to a method that takes no parameters.

Returns: IAsyncResult. An IAsyncResult that represents the result of the BeginInvoke operation.

Executes the specified delegate asynchronously, in the context of the session that owns the control, with the specified list of arguments.

ParameterTypeDescription

method

A delegate to a method that takes no parameters.

args

An optional array of objects to pass as arguments to the specified method.

Returns: IAsyncResult. An IAsyncResult that represents the result of the asynchronous call.

Brings the control to the front of the z-order.

Returns: Control.

Runs the JavaScript function within the component's context in the browser.

ParameterTypeDescription

function

The name of the JavaScript function to execute.

args

The arguments to pass to the function.

Returns: Control. this control

Runs the JavaScript function within the component's context in the browser and returns the value to the callback method.

ParameterTypeDescription

function

The name of the JavaScript function to execute.

callback

Asynchronous callback method that receives the return value.

args

The arguments to pass to the function.

Returns: Control. this control

Asynchronously runs the JavaScript function within the component's context in the browser and returns an awaitable Task containing the value returned by the remote call.

ParameterTypeDescription

function

The name of the JavaScript function to execute.

args

The arguments to pass to the function.

Returns: Task<Object>. An awaitable Task that represents the asynchronous operation.

Centers the position of the control within the bounds of the parent.

Returns: Control. this control

Centers the position of the control within the bounds of the parent either horizontally, vertically or both.

ParameterTypeDescription

horizontal

Center horizontally.

vertical

Center vertically.

Returns: Control. this control

Indicates whether the specified control is a child of this control.

ParameterTypeDescription

control

The child Control to find.

Returns: Boolean. true if the specified control is a child of the control; otherwise, false.

Creates and register this control and all its children.

Returns: Control.

Begins a drag-and-drop operation.

ParameterTypeDescription

data

The data to drag.

allowedEffects

One of the DragDropEffects values.

Returns: DragDropEffects. A value from the DragDropEffects enumeration that represents the final effect that was performed during the drag-and-drop operation.

Begins a drag-and-drop operation.

ParameterTypeDescription

data

The data to drag.

allowedEffects

One of the DragDropEffects values.

imageSource

The name or URL for an image to use as the drag cursor.

Returns: DragDropEffects. A value from the DragDropEffects enumeration that represents the final effect that was performed during the drag-and-drop operation.

Begins a drag-and-drop operation.

ParameterTypeDescription

data

The data to drag.

allowedEffects

One of the DragDropEffects values.

imageSource

The name or URL for an image to use as the drag cursor.

imageSize

The size of the drag image specified in imageSource.

Returns: DragDropEffects. A value from the DragDropEffects enumeration that represents the final effect that was performed during the drag-and-drop operation.

Begins a drag-and-drop operation.

ParameterTypeDescription

data

The data to drag.

allowedEffects

One of the DragDropEffects values.

image

An Image to use as the drag cursor.

Returns: DragDropEffects. A value from the DragDropEffects enumeration that represents the final effect that was performed during the drag-and-drop operation.

Begins a drag-and-drop operation.

ParameterTypeDescription

data

The data to drag.

allowedEffects

One of the DragDropEffects values.

image

An Image to use as the drag cursor.

imageSize

The size of the drag image specified in image.

Returns: DragDropEffects. A value from the DragDropEffects enumeration that represents the final effect that was performed during the drag-and-drop operation.

Retrieves the return value from the asynchronous operation represented by asyncResult .

ParameterTypeDescription

asyncResult

An IAsyncResult that represents a BeginInvoke operation started on a control.

Returns: Object. The return value from the asynchronous operation.

Runs the javaScript code within the component's context in the browser.

ParameterTypeDescription

javaScript

The JavaScript code to run on the client.

Returns: Control. this control

Runs the javaScript code within the component's context in the browser and returns the value to the callback method.

ParameterTypeDescription

javaScript

The JavaScript code to evaluate on the client.

callback

Asynchronous callback method that receives the return value.

Returns: Control. this control

Asynchronously runs the javaScript code within the component's context in the browser and returns an awaitable Task that contains the value returned by the remote call.

ParameterTypeDescription

javaScript

The JavaScript code to evaluate on the client.

Returns: Task<Object>. An awaitable Task that represents the asynchronous operation.

Retrieves the Form that contains the control.

Returns: Form.

Retrieves the Page that contains the control.

Returns: Page.

Sets input focus to the control.

Returns: Boolean. true if the input focus request was successful; otherwise, false.

Retrieves the child control that is located at the specified coordinates, specifying whether to ignore child controls of a certain type.

ParameterTypeDescription

pt

A Point that contains the coordinates where you want to look for a control. Coordinates are expressed relative to the upper-left corner of the control's client area.

skipValue

One of the values of GetChildAtPointSkip, determining whether to ignore child controls of a certain type.

Returns: Control. The child Control at the specified coordinates.this control

Retrieves the child control that is located at the specified coordinates.

ParameterTypeDescription

pt

A Point that contains the coordinates where you want to look for a control. Coordinates are expressed relative to the upper-left corner of the control's client area.

Returns: Control. A Control that represents the control that is located at the specified point.

Returns the script associated to the listener identified by id .

ParameterTypeDescription

id

Id of the listener to retrieve the script for.

Returns: String. JavaScript associated with the listener.

Returns the scripts for all the listeners attached to the event name .

ParameterTypeDescription

name

Name of the event.

Returns: String[]. String array containing the scripts for the listeners attached to the event.

Returns the next IContainerControl up the control's chain of parents.

Returns: IContainerControl. The parent IContainerControl.

Retrieves the next control forward or back in the tab order of child controls.

ParameterTypeDescription

control

The Control to start the search with.

forward

true to search forward in the tab order; false to search backward.

Returns: Control. The next Control in the tab order.

Retrieves the value of the specified control style bit for the control.

ParameterTypeDescription

flag

The ControlStyles bit to return the value from.

Returns: Boolean. true if the specified control style bit is set to true; otherwise, false.

Checks whether the specified event name has any listener attached.

ParameterTypeDescription

name

Name of the client event to verify.

Returns: Boolean. True if the event name has any listener attached.

Returns true if the property CssClass contains the specified class name .

ParameterTypeDescription

name

Css class name to verify.

Returns: Boolean. True of the css class name is already included in CssClass.

Checks whether the specified theme state is present in the States property.

ParameterTypeDescription

state

Name of the state to check.

Returns: Boolean. True if the widget already has the state .

To check only if a propagated state is present, use HasState("state+");

Conceals the control from the user.

Returns: Control.

Causes the control to update the client side widget. When in design mode, causes the rendered control to update its entire surface in the designer.

Causes the control to update the client side widget. When in design mode, causes the rendered control to update its entire surface in the designer.

ParameterTypeDescription

invalidateChildren

When true, invalidates all the children of the control.

Executes the specified delegate, in the context of the session that owns the control.

ParameterTypeDescription

method

A delegate that contains a method to be called in the control's session context.

Returns: Object. The return value from the delegate being invoked, or null if the delegate has no return value.

Executes the specified delegate, in the context of the session that owns the control, with the specified list of arguments.

ParameterTypeDescription

method

A delegate to a method that takes parameters of the same number and type that are contained in the args parameter.

args

An array of objects to pass as arguments to the specified method. This parameter can be null if the method takes no arguments.

Returns: Object. An Object that contains the return value from the delegate being invoked, or null if the delegate has no return value.

Determines whether the specified character is the mnemonic character.

ParameterTypeDescription

charCode

The character to test.

text

The string to search.

Returns: Boolean. true if the charCode character is the mnemonic character; otherwise, false.

Arranges all the child Control using the specified dock style, spaced by spacing pixels.

ParameterTypeDescription

dock

Indicates whether to arrange the Controls horizontally or vertically.

Spacing between the Controls.

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using dock = Fill, or Top, or Bottom.

Vertical alignment when using dock = Fill, or Left, Right.

Arranges all the child Control using the specified dock style, spaced by spacing pixels.

ParameterTypeDescription

dock

Indicates whether to arrange the Controls horizontally or vertically.

viewArea

Rectangle limiting the area to arrange the Controls in. If empty, it will use DisplayRectangle.

Spacing between the Controls.

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using dock = Fill, or Top, or Bottom.

Vertical alignment when using dock = Fill, or Left, Right.

Arranges all the child Control using the specified dock style, spaced by spacing pixels.

ParameterTypeDescription

controls

List of child controls to arrange. If null, all the children will be arranged.

dock

Indicates whether to arrange the Controls horizontally or vertically.

Spacing between the Controls.

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using dock = Fill, or Top, or Bottom.

Vertical alignment when using dock = Fill, or Left, Right.

Arranges all the child Control using the specified dock style, spaced by spacing pixels.

ParameterTypeDescription

controls

List of child controls to arrange. If null, all the children will be arranged.

dock

Indicates whether to arrange the Controls horizontally or vertically.

viewArea

Rectangle limiting the area to arrange the Controls in. If empty, it will use DisplayRectangle.

Spacing between the Controls.

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using dock = Fill, or Top, or Bottom.

Vertical alignment when using dock = Fill, or Left, Right.

Arranges all the child Control in the specified direction , spaced by spacing pixels.

ParameterTypeDescription

direction

Indicates whether to arrange the Controls horizontally or vertically.

Spacing between the Controls.

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using direction = Vertical.

Vertical alignment when using direction = Horizontal.

Arranges all the child Control in the specified direction , spaced by spacing pixels, and constrained within the specified viewArea .

ParameterTypeDescription

direction

Indicates whether to arrange the Controls horizontally or vertically.

viewArea

Rectangle limiting the area to arrange the Controls in. If empty, it will use DisplayRectangle.

Spacing between the Controls.

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using direction = Vertical.

Vertical alignment when using direction = Horizontal.

Arranges the specified child controls in the specified direction , spaced by spacing pixels.

ParameterTypeDescription

controls

List of child controls to arrange. If null, all the children will be arranged.

direction

Indicates whether to arrange the controls horizontally or vertically.

Spacing between the controls .

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using direction = Vertical.

Vertical alignment when using direction = Horizontal.

Throws:

Arranges the specified child controls in the specified direction , spaced by spacing pixels, and constrained within the specified viewArea .

ParameterTypeDescription

controls

List of child controls to arrange. If null, all the children will be arranged.

direction

Indicates whether to arrange the controls horizontally or vertically.

viewArea

Rectangle limiting the area to arrange the controls in. If empty, it will use DisplayRectangle.

Spacing between the controls .

When true (default), it will also use the Margin to arrange the controls.

Horizontal alignment when using direction = Vertical.

Vertical alignment when using direction = Horizontal.

Throws:

Forces the control to apply layout logic to all its child controls.

Forces the control to apply layout logic to all its child controls.

ParameterTypeDescription

affectedControl