Hi Progress Team,
I have encountered another issue in the RadPopupEditor control. For RadSpinEditor controls as well as for RadTextBox controls on the Popup container form, no value changed or validating/validation events are fired. For RadSpinEditor controls the ValueChanged event is fired when the spin buttons are used to change the value but when the user directly enters a value in the editor element and the control losts the focus (either by TAB or mouse click outside the control) the ValueChanged event is missing.
I have attached a small VS2017 project which illustrates the issue.
Thank you very much!
Regards,
Jürgen
Use case: when RadPopupEditor is opened, the focus is sent to the popup control which handles all the pressed keys. It would be added public API which provides the possibility to plug into this keyboard handling and customize the behavior.
For example, when the popup is opened, pressing Escape, closes the popup. This functionality comes from the RadPopupContainerForm.OnKeyDown which behavior can't be overridden.
Currently, only the listener can be removed for a certain popup:
Private Sub RadPopupEditor_PopupOpened(sender As Object, e As EventArgs) PopupManager.Default.RemovePopup(Me.RadPopupEditor1.PopupEditorElement.PopupContainerForm)
UPDATE: The API should allow handling the mouse input as well and the developer should control whether the message will be managed further.
Please refer to the attached sample project and gif file which illustrates the exact steps and obtained result.
Workaround: set the DropDownStyle property to DropDown.
NOTE: Shift+Tab should also navigate through the controls in a reversed order with enabled AutoCompleteMode.
By using the following code snippet, RadPopupEditor needs to indicate focus similar to RadDropDownList with the same properties applied:
When the popup is opened and you have multiple controls in it, pressing the Tab key will navigate to the next control. However, when the last control in the popup is reached, the focus stays in it instead of jumping again to the first control.