It is possible, however as the window only exists when the "Get User Input - Choice" action is executed, this inline function must precede that action:
using System;
using System.Windows.Forms;
using System.Drawing;
using Telerik.WinControls;
using Telerik.WinControls.UI;
public class VAInline
{
public void main()
{
//Check whether the Get User Input dialog exists every ~10ms
Form f = new Form();
while (!VA.Stopped)
{
f = Application.OpenForms["frmGetInput"];
if (f != null)
{
break;
}
System.Threading.Thread.Sleep(10);
}
//Set the background color
Color backgroundColor = Color.FromArgb(45, 48, 45);
//Change the background color for the main window
f.BackColor = backgroundColor;
//Change the background color for the "OK" button, as it will be highlighted by default
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnOk"].BackColor = backgroundColor;
//Set the foreground color (including font color and control outlines)
Color fontColor = Color.FromArgb(255, 255, 255);
//Change the font color for the prompt text
f.Controls["tableLayoutPanel1"].Controls["lblPrompt"].ForeColor = fontColor;
//Change the font and outline colors for the "OK" button
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnOk"].ForeColor = fontColor;
//Change the font and outline colors for the "Cancel" button
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnCancel"].ForeColor = fontColor;
//Set the color for the highlight when the mouse is over a button
Color highlightColor = Color.FromArgb(80, 80, 80);
//Change the highlight color for the "OK" button using an event when the mouse cursor is over the control
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnOk"].MouseEnter += delegate(object sender, EventArgs e) {((RadButton)sender).BackColor = highlightColor;};
//Reset the background color for the "OK" button using an event when the mouse cursor leaves the control
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnOk"].MouseLeave += delegate(object sender, EventArgs e) {((RadButton)sender).BackColor = ((Control)sender).Parent.BackColor;};
//Change the highlight color for the "Cancel" button using an event when the mouse cursor is over the control
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnCancel"].MouseEnter += delegate(object sender, EventArgs e) {((RadButton)sender).BackColor = highlightColor;};
//Reset the background color for the "Cancel" button using an event when the mouse cursor leaves the control
f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["btnCancel"].MouseLeave += delegate(object sender, EventArgs e) {((RadButton)sender).BackColor = ((Control)sender).Parent.BackColor;};
//Set the background color for the dropdown control
Color dropDownColor = Color.FromArgb(63, 63, 70);
//Set the background color for the dropdown list
Color dropDownListColor = Color.FromArgb(27, 27, 28);
//Set the highlight color for the selected item in the list
Color dropDownhighlightColor = Color.FromArgb(51, 51, 52);
//Change the background color of the dropdown control
((RadDropDownList)f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["cboValue"]).BackColor = dropDownColor;
((RadDropDownList)f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["cboValue"]).DropDownListElement.EditableElement.BackColor = dropDownColor;
//Change the font color of the dropdown control
((RadDropDownList)f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["cboValue"]).ForeColor = fontColor;
//Change the background color of the dropdown's arrow section
((RadDropDownList)f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["cboValue"]).DropDownListElement.ArrowButton.Fill.BackColor = dropDownColor;
//Change the color of the dropdown's arrow icon
((RadDropDownList)f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["cboValue"]).DropDownListElement.ArrowButton.Arrow.ForeColor = fontColor;
//Change the color of the items in the dropdown list using an event when the list is formatted before painting
((RadDropDownList)f.Controls["tableLayoutPanel1"].Controls["tableBody"].Controls["cboValue"]).VisualListItemFormatting += delegate(object sender, VisualItemFormattingEventArgs args)
{
args.VisualItem.NumberOfColors = 1;
if (args.VisualItem.Selected)
{
args.VisualItem.BackColor = dropDownhighlightColor;
args.VisualItem.BorderColor = dropDownhighlightColor;
}
else
{
args.VisualItem.BackColor = dropDownListColor;
args.VisualItem.BorderColor = dropDownListColor;
}
args.VisualItem.ForeColor = fontColor;
};
}
}
E.G.
Inline C# Function: Change "Get User Input" dialog color
Get Choice Input [dropdownSelection]
Note that it will only work on one window at a time. If you run the above command twice (thus spawning two dialog windows), only the first window will be recolored.
Anything that isn't dropdown-specific should also work on the other "Get User Choice" dialog windows (as they are the same window underneath, just displaying different controls)
Same disclaimer as any other inline function like this: Unofficial and unsupported.