Workaround: handle the KeyDown event of the inner TextBoxControl and manipulate the TextBox.SelectionStart:
private void radPropertyGrid1_EditorInitialized(object sender, Telerik.WinControls.UI.PropertyGridItemEditorInitializedEventArgs e)
{
PropertyGridDropDownListEditor ddlEditor = e.Editor as PropertyGridDropDownListEditor;
if (ddlEditor != null)
{
ddlEditor.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDown;
BaseDropDownListEditorElement el = ddlEditor.EditorElement as BaseDropDownListEditorElement;
el.EditableElement.TextBox.TextBoxItem.TextBoxControl.KeyDown -= el_KeyDown;
el.EditableElement.TextBox.TextBoxItem.TextBoxControl.KeyDown += el_KeyDown;
}
}
private void el_KeyDown(object sender, KeyEventArgs e)
{
TextBox tb = sender as TextBox;
if (e.KeyData == Keys.Left && tb.SelectionStart > 0)
{
tb.SelectionStart = --tb.SelectionStart;
}
if (e.KeyData == Keys.Right && tb.SelectionStart <= tb.Text.Length)
{
tb.SelectionStart = ++tb.SelectionStart;
}
}