To reproduce: Change the monitors positions in the settings panel and try out on both monitors. Please refer to the attached file.
Workaround:
Dim tbLocation = Point.Empty
Sub New()
InitializeComponent()
Me.RadTextBox1.Text = "Once uppon "
Dim tbSpellChecker As TextBoxSpellChecker = Me.RadSpellChecker1.GetControlSpellChecker(GetType(RadTextBox))
AddHandler tbSpellChecker.DropDownMenu.PopupOpening, AddressOf PopupOpening
AddHandler Me.RadTextBox1.TextBoxElement.TextBoxItem.HostedControl.MouseDown, AddressOf RadTextBox1_MouseDown
End Sub
Private Sub PopupOpening(sender As Object, args As System.ComponentModel.CancelEventArgs)
Dim e As RadPopupOpeningEventArgs = TryCast(args, RadPopupOpeningEventArgs)
If e IsNot Nothing Then
e.CustomLocation = tbLocation
End If
End Sub
Private Sub RadTextBox1_MouseDown(sender As Object, e As MouseEventArgs)
If e.Button = Windows.Forms.MouseButtons.Right Then
tbLocation = Me.RadTextBox1.PointToScreen(e.Location)
End If
End Sub