This guide walks you through creating operator interfaces with the Displays module. You'll learn to design displays, configure layouts, and deploy to multiple platforms from a single design.
This overview links to specific guides for different aspects:
Quick Method - Drag Tags:
Manual Method - Add Components:
Type | Purpose | Best For | Resize Behavior |
---|---|---|---|
Canvas | Process graphics | P&IDs, equipment layouts | Maintains relationships |
Dashboard | Data visualization | KPIs, reports, analytics | Responsive grid |
Page | Main content | Primary displays | Replaces current |
Popup | Overlay content | Trends, details | Non-modal overlay |
Dialog | User interaction | Confirmations, inputs | Modal, blocks UI |
Setting | Deploys To | Use When |
---|---|---|
Portable | WPF + HTML5 | Default choice, maximum compatibility |
WPF Only | Windows clients | Using Windows-specific features |
HTML5 Only | Web browsers | Web-only deployment |
For mobile devices, RESS (Responsive + Server-Side) automatically:
Component | Use For | Key Properties |
---|---|---|
TextBox | Values, labels | Text, Font, Alignment |
Button | Commands | Action, MouseDown |
ComboBox | Selection | Items, SelectedValue |
DataGrid | Tables | DataSource, Columns |
TrendChart | Time series | Tags, TimeRange |
AlarmWindow | Alarm display | Filter, Columns |
Quick dynamic properties (double-click element):
From Script:
csharp
// Replace content area
@Display.ProcessOverview.Open();
// Open as popup
@Display.TrendPopup.OpenPopup();
// Open as dialog
@Display.ConfirmDialog.OpenDialog();
From Button:
csharp
// Switch entire layout
@Client.OpenLayout("OperatorLayout");
// Just change content
@Display.NewDisplay.Open();
csharp
public void DisplayOpening()
{
// Initialize before display opens
LoadUserPreferences();
}
public void DisplayIsOpen()
{
// Execute after display is visible
StartDataRefresh();
}
public void DisplayClosing()
{
// Cleanup when closing
SaveUserSettings();
}
csharp
public void Button1_Click(object sender, EventArgs e)
{
@Tag.PumpStart = 1;
@Display.PumpDetails.OpenPopup();
}
@(LocalizationKey)
@Client.Localization = "Spanish"
Limit elements per display - Keep under 500 elements
Use symbols - Reuse instead of recreating
Optimize images - Compress and resize appropriately
Minimize animations - Use only necessary dynamics
Test on target platform - Verify performance early
Display Won't Open
Poor Performance
Platform Differences
→ Modules / User Interactions / Displays Module → Tutorials / User Interactions / Displays Module Tutorial → How-to Guides / User Interactions / Displays Module How-to Guide → Technical Reference / User Interactions / Displays Module ReferenceDisplays Module Links
Explanation - to understand concepts
Tutorials - to learn by doing
How-to Guides - to accomplish specific tasks
Reference - technical details