To reproduce: Using the below code, type something in the text box and execute the button shortcut => the caret remains where it was protected override void OnLoad(EventArgs e) { base.OnLoad(e); AddTextBoxControl(); radButton1.ButtonElement.Shortcuts.Add(new RadShortcut(Keys.Alt, new Keys[] { Keys.R })); } private void radButton1_Click(object sender, EventArgs e) { radTextBoxControl1.Text = ""; } Workaround: Instead of setting the Text to empty string, use the control Clear method.