How to reproduce: check the attached video
Workaround: create a custom MapSearchBarElement
public class MyRadMap : RadMap
{
public override string ThemeClassName
{
get
{
return typeof(RadMap).FullName;
}
}
protected override RadMapElement CreateMapElement()
{
return new MyRadMapElement();
}
}
public class MyRadMapElement : RadMapElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(RadMapElement);
}
}
protected override MapSearchBarElement CreateSearchBarElement()
{
return new MyMapSearchBarElement(this);
}
}
public class MyMapSearchBarElement : MapSearchBarElement
{
public MyMapSearchBarElement(MyRadMapElement mapElement)
: base(mapElement)
{ }
protected override Type ThemeEffectiveType
{
get
{
return typeof(MapSearchBarElement);
}
}
protected override void SearchProviderSearchError(object sender, SearchErrorEventArgs e)
{
IMapSearchProvider provider = sender as IMapSearchProvider;
provider.SearchCompleted -= SearchProviderSearchCompleted;
provider.SearchError -= SearchProviderSearchError;
if (this.ElementTree != null)
{
UnsubscribeToTextBoxEvents(this.SearchTextBoxElement);
RadMessageBox.SetThemeName(this.ElementTree.ThemeName);
RadMessageBox.Show(e.Error.Message);
SubscribeToTextBoxEvents(this.SearchTextBoxElement);
}
}
protected override void SubscribeToTextBoxEvents(RadTextBoxElement textBox)
{
textBox.TextChanged += OnSearchTextBoxTextChanged;
textBox.KeyDown += OnSearchTextBoxKeyDown;
}
protected override void UnsubscribeToTextBoxEvents(RadTextBoxElement textBox)
{
textBox.TextChanged -= OnSearchTextBoxTextChanged;
textBox.KeyDown -= OnSearchTextBoxKeyDown;
}
private void OnSearchTextBoxKeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.Search(this.SearchTextBoxElement.Text);
}
}
}