Control

Wisej.Web.Control

Namespace: Wisej.Web

Assembly: Wisej.Framework (2.2.0.0)

Base class for all Wisej controls.

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

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.

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.

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.

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

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

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.

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

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

Image: Returns or sets the background image displayed in the control.

ImageLayout: Returns or sets the background image layout as defined in the ImageLayout enumeration.

String: Returns or sets the background image displayed in the control.

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

Boolean: Determines whether the control can execute a command.

Boolean: Returns whether the control can receive focus.

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

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:

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.

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

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.

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.

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

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.

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 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 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.

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 control is blocked by the ajax loader.

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:

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.

Object: Returns or sets the object that contains data about the control.

String: Returns or sets the text associated with this control.

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 " ".

String: Returns or sets the tooltip text to show for this control.

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 ToolTip 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 ToolTip 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.

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.

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.

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.

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

Adds the specified theme state 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.

Executes the specified delegate asynchronously.

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

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

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

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

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.

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

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

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

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

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

Creates and register this control and all its children.

Begins a drag-and-drop operation.

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.

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.

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.

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.

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

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

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

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.

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

Retrieves the form that the control is on.

Returns: Form.

Retrieves the page that the control is on.

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.

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

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

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 .

Returns: String. JavaScript associated with the listener.

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

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.

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

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

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.

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

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

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.

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

Conceals the control from the user.

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.

Executes the specified delegate.

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

Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of 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.

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

Computes the location of the specified screen point into client coordinates.

Returns: Point. A Point that represents the converted Point, point , in client coordinates.

Computes the location of the specified client point into screen coordinates.

Returns: Point. A Point that represents the converted Point, point , in screen coordinates.

Computes the size and location of the specified screen rectangle in client coordinates.

Returns: Rectangle. A Rectangle that represents the converted Rectangle, rect , in client coordinates.

Computes the size and location of the specified client rectangle in screen coordinates.

Returns: Rectangle. A Rectangle that represents the converted Rectangle, rect , in screen coordinates.

Forces the control to update corresponding client widget. When in DesignMode it forces a full redraw of the designer surface for this control, including the non-client areas such as the caption of forms or panels.

Forces the control to update corresponding client widget. When in DesignMode it forces a full redraw of the designer surface for this control and optionally of its children, including the non-client areas such as the caption of forms or panels.

Detaches and removes the listener identified by id .

Returns: Boolean. True if the id specified a valid lister and it was removed; otherwise false if id is invalid.

Removes all the listeners attached to the event name .

Returns: Boolean. True if the event name has any listener that was removed.

Removes the specified css class name from the control's CssClass property.

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

Removes the specified theme state from 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.

Causes a control bound to the BindingSource to reread all the items in the list and refresh their displayed values.

Resumes layout logic.

Resumes layout logic, optionally forcing an immediate layout of all pending layout requests.

Scrolls the control into view in the container using the specified alignX and alignY preferences.

Scrolls the child control into view.

Activates a control.

Activates the next control in the list according to the specified selection rules.

Returns: Boolean. true if a control was activated; otherwise, false.

Sends the control to the back of the z-order.

Sets the bounds of the control to the specified location and size.

Sets the specified bounds of the control to the specified location and size.

Displays the control to the user.

Suspends the layout logic for the control.

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

Validates all selectable child controls in the container, including descendants. This is equivalent to calling ValidateChildren(ValidationConstraints.Selectable). See Selectable for details of exactly which child controls will be validated.

Returns: Boolean.

Validates all the child controls in the container. Exactly which controls are validated and which controls are skipped is determined by flags .

Returns: Boolean.

Events

EventHandler Fired after the control has been fully rendered on the client.

This is a "lazy" event. It fires only when there is an handler attached to it, otherwise the companion On{Name} protected method is not invoked. It's enough to attach to either one of Appear or Disappear to enable both events.

EventHandler Fired when the AutoSize property value changes.

EventHandler Fired when the value of the BackColor property changes.

EventHandler Fired when the value of the BackgroundImage property changes.

EventHandler Fired when the BackgroundImageLayout property changes.

EventHandler Occurs when the value of the BindingContext property changes.

EventHandler Fired when the value of the CausesValidation property changes.

EventHandler Fired when the control is clicked.

EventHandler Fired when the ClientSize property value changes.

EventHandler Fired when the value of the ContextMenu property changes.

EventHandler Fired when a control is made visible the first time, fully created and sent to the client.

EventHandler Fired when the value of the Cursor property changes.

EventHandler Fired after the control is no longer visible on the client.

This is a "lazy" event. It fires only when there is an handler attached to it, otherwise the companion On{Name} protected method is not invoked. It's enough to attach to either one of Appear or Disappear to enable both events.

EventHandler Fired when the component is disposed.

EventHandler Fired when the value of the Dock property changes.

EventHandler Fired when the control is double-clicked.

DragEventHandler Fired when a drag-and-drop operation is completed.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when a drag-drop operation is terminated either by a drop or canceled.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

DragEventHandler Fired when an object is dragged into the control's bounds.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when an object is dragged out of the control's bounds.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

DragEventHandler Fired when an object is dragged over the control's bounds.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when a drag-drop operation is started by the user.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the Enabled property value has changed.

EventHandler Fired when a control is Movable and the user ends the move operation.

This event fires only when Movable is true and the user moves the widget on the client. It doesn't fire when the Location property changes.

EventHandler Fired when a control has ResizableEdges and the user ends the resize operation.

This event fires only when the ResizableEdges has a value different than None and the user resizes the widget on the client. It doesn't fire when the Size of the control changes.

EventHandler Fired when the control gains the input focus.

EventHandler Fired when the Font property value changes.

EventHandler Fired when the ForeColor property value changes.

HelpEventHandler Fired when the user requests help for a control by pressing F1.

EventHandler Fired when the ImeMode property has changed.

KeyEventHandler Fired when a key is pressed while the control has focus.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

KeyPressEventHandler Fired when a key is pressed while the control has focus.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

KeyEventHandler Fired when a key is released while the control has focus.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

LayoutEventHandler Fired when a control should reposition its child controls.

EventHandler Fired when the control loses the input focus.

EventHandler Fired when the Location property value has changed.

EventHandler Fired when a pointer holds on the screen.

EventHandler Fired when the control's margin changes.

EventHandler Fired when the control loses mouse capture.

MouseEventHandler Fired when the control is clicked by the mouse.

MouseEventHandler Fired when the control is double clicked by the mouse.

MouseEventHandler Fired when the mouse pointer is over the control and a mouse button is pressed.

EventHandler Fired when the mouse pointer enters the control.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the mouse pointer rests on the control.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the mouse pointer leaves the control.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

MouseEventHandler Fired when the mouse pointer is moved over the control.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

MouseEventHandler Fired when the mouse pointer is over the control and a mouse button is released.

MouseEventHandler Fired when the mouse wheel moves while the control has focus.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the control's padding changes.

PaintEventHandler Fired when a UserPaint control needs to redraw itself.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the Parent property value changes.

PinchEventHandler Fired when two finger moved towards or away from each other. It contains the scaling factor of the pinch.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

PreviewKeyDownEventHandler Fired before the KeyDown event when a key is pressed while focus is on this control.

QueryContinueDragEventHandler Occurs during a drag-and-drop operation and enables the drag source to determine whether the drag-and-drop operation should be canceled.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the control is resized.

ResponsiveProfileChangedEventHandler Fired when the active responsive profile is changed.

EventHandler Fired when the RightToLeft property value changes.

RotateEventHandler Fired when two finger moved around a single point. It contains the angle of the rotation.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the Size property value changes.

EventHandler Fired when a control is Movable and the user begins the move operation.

This event fires only when Movable is true and the user begins moving the widget on the client.

EventHandler Fired when a control has ResizableEdges and the user begins the resize operation.

This event fires only when the ResizableEdges has a value different than None and the user begins resizing the widget on the client.

EventHandler Fired when the control style changed.

SwipeEventHandler Fired when a pointer swipes over the screen.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the TabIndex property value has changed.

EventHandler Fired when the value of the TabStop property changes.

EventHandler Fired when a pointer taps on the screen.

EventHandler Fired when the Text property value changes.

TouchEventHandler Fired when a touch point has been disrupted in an implementation-specific manner (for example, too many touch points are created).

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

TouchEventHandler Fired when a touch point is removed from the touch surface.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

TouchEventHandler Fired when a touch point is moved along the touch surface.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

TouchEventHandler Fired when a touch point is placed on the touch surface.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

TrackEventHandler Fired when a pointer grabs an item and moves the pointer on it.

This event fires only if there is an handler attached to it. A simple overload of the On[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

EventHandler Fired when the control is finished validating.

CancelEventHandler Fired when the control is validating.

EventHandler Fired when the Visible property value changes.

WidgetEventHandler Fired when the control receives a custom event from the client.

JavaScript code can fire any event back to a control, including custom data, using:

  this.fireWidgetEvent("myevent", {x:1, y:2, name:'test'});

On the server side, the event name and event data are available in the WidgetEvent handler:

  
  private void control_WidgetEvent(object sender, WidgetEventArgs e) {
    
    switch (e.Type) {
    
      case "myevent":
        var data = e.Data;
        Alert.Show($"x={data.x}, y={data.y}, name={data.name}");
        break;
    }
  }

Inherited By

Implements

Last updated