---
title: "UserInputController Class"
canonical: https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_UserInputController.htm
archived: true
applies_to:
  - product: "Graphics Mill Web Controls"
---

**You’re viewing documentation for an outdated product.** Graphics Mill Web Controls is no longer part of Graphics Mill. For current design editing and rendering tools, see [Design Atoms .NET](https://customerscanvas.com/docs/on-premises/design-atoms-cs/), [Design Atoms JS](https://customerscanvas.com/docs/on-premises/design-atoms-js/), and [Design Editor](https://customerscanvas.com/docs/on-premises/design-editor/).

# UserInputController Class

**Applies to:** Graphics Mill Web Controls · **Archived documentation**
 
This class is implemented by all the controls which can manage user input (such as mouse events) of the [BaseViewer](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_BaseViewer.htm.md) control.
 
**Namespace:** [Aurigma.GraphicsMill.AjaxControls](https://www.graphicsmill.com/docs/gmwc/N_Aurigma_GraphicsMill_AjaxControls.htm.md)
 **Assembly:** Aurigma.GraphicsMill.AjaxControls (in Aurigma.GraphicsMill.AjaxControls.dll)
 
## Syntax
  
```csharp
public abstract class UserInputController : BaseScriptControl, IUserInputController
```
 
## Remarks
  
When you create a custom navigator or rubberband, you can inherit your class from this one, and override its protected members. Note, this class is an abstract one, you cannot instantiate it directly.
 
## Inheritance Hierarchy
  
- [System..Object](http://msdn2.microsoft.com/en-us/library/e5kfa45b)
    - *+* [System.Web.UI..Control](http://msdn2.microsoft.com/en-us/library/983zwx2h)
        - *+* [System.Web.UI.WebControls..WebControl](http://msdn2.microsoft.com/en-us/library/k1x24e42)
            - *+* [Aurigma.GraphicsMill.AjaxControls..BaseScriptControl](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_BaseScriptControl.htm.md)
                - *+* Aurigma.GraphicsMill.AjaxControls..UserInputController
                    - *+* [Aurigma.GraphicsMill.AjaxControls..PanNavigator](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_PanNavigator.htm.md)
                    - *+* [Aurigma.GraphicsMill.AjaxControls..ZoomInNavigator](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_ZoomInNavigator.htm.md)
                    - *+* [Aurigma.GraphicsMill.AjaxControls..RectangleController](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_RectangleController.htm.md)
                    - *+* [Aurigma.GraphicsMill.AjaxControls..ZoomOutNavigator](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_ZoomOutNavigator.htm.md)
                    - *+* [Aurigma.GraphicsMill.AjaxControls..VObjectsRubberband](https://www.graphicsmill.com/docs/gmwc/T_Aurigma_GraphicsMill_AjaxControls_VObjectsRubberband.htm.md)
 
## Thread Safety
 Static members of this type are not safe for multi-threaded operations. Instance members of this type are not safe for multi-threaded operations.
   
## See Also

### Reference

- [UserInputController Members](https://www.graphicsmill.com/docs/gmwc/AllMembers_T_Aurigma_GraphicsMill_AjaxControls_UserInputController.htm.md)
- [Aurigma.GraphicsMill.AjaxControls Namespace](https://www.graphicsmill.com/docs/gmwc/N_Aurigma_GraphicsMill_AjaxControls.htm.md)
