Hello, David,
Please note that as my colleague, Hristo, previously noted, COM/ActiveX projects and Outlook add-ins are having a different application life-cycle and message loop compared to a standard .NET application. In such scenarios it is possible to observe certain differences compared to a standard .NET project. Please note that we do not test our controls in such an environment and we do not guarantee normal work of the controls.
Have you tried the suggested solution with disabling the animation? Is the scrolling problem still reproducible?
According to the provided information, I am not sure whether you use the drop down list in RadGridView as an editor or as a separate control. However, in both cases you may use a similar approach for preventing the mouse wheel behavior.
RadGridView uses a RadDropDownListEditor for the combo columns. In order to disable scrolling the items in the popup, it is necessary to return true in the DropDownPopupForm.OnMouseWheel event. However, you will still be able to scroll the editable part in RadDropDownList. This can be stopped by overriding the RadDropDownListEditorElement.OnMouseWheel event and leaving the method empty. Then replace the default editor with the custom one in the EditorRequired event: https://docs.telerik.com/devtools/winforms/controls/gridview/editors/using-custom-editors
public class CustomRadDropDownListEditor : RadDropDownListEditor
{
protected override RadElement CreateEditorElement()
{
return new CustomRadDropDownListEditorElement();
}
}
public class CustomRadDropDownListEditorElement : RadDropDownListEditorElement
{
protected override RadPopupControlBase CreatePopupForm()
{
this.Popup = new CustomDropDownPopupForm(this);
return Popup;
}
protected override void OnMouseWheel(MouseEventArgs e)
{
}
}
public class CustomDropDownPopupForm : DropDownPopupForm
{
public CustomDropDownPopupForm(RadDropDownListElement ownerDropDownListElement)
: base(ownerDropDownListElement)
{
}
public override bool OnMouseWheel(Control target, int delta)
{
return true;
}
}
For RadDropDownList, you can stop the default mouse wheel logic and implement your own as follows:
public class CustomDropDownList : RadDropDownList
{
public override string ThemeClassName
{
get
{
return typeof(RadDropDownList).FullName;
}
}
protected override RadDropDownListElement CreateDropDownListElement()
{
return new CustomRadDropDownListElement();
}
}
public class CustomRadDropDownListElement : RadDropDownListElement
{
protected override Type ThemeEffectiveType
{
get
{
return typeof(RadDropDownListElement);
}
}
protected override void OnMouseWheel(MouseEventArgs e)
{
}
protected override RadPopupControlBase CreatePopupForm()
{
this.Popup = new CustomDropDownPopupForm(this);
return Popup;
}
}
public class CustomDropDownPopupForm : DropDownPopupForm
{
public CustomDropDownPopupForm(RadDropDownListElement ownerDropDownListElement) : base(ownerDropDownListElement)
{
}
public override bool OnMouseWheel(Control target, int delta)
{
return true;
}
}
If you are still experiencing any further difficulties, feel free to submit a support ticket from your account and provide a sample project demonstrating the undesired behavior hat you are facing. Thus, we would be able to make an adequate analysis of the precise case and provide further assistance. Thank you in advance.
I hope this information helps. If you need any further assistance please don't hesitate to contact me.
Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik
Get
quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers.
Learn More.