Comportamento ou bug do Microsoft VSrollBar com tela sensível ao toque - Windows Forms

Encontrei um comportamento estranho com o VScrollBar (barra de rolagem vertical disponível na caixa de ferramentas do Visual Studio). O problema é "se eu deslizar para baixo na barra de rolagem, ela se move para cima. Se eu deslizar para cima, ele se move para baixo"

Etapas para replicar bug ou comportamento - 1

1) Adicione VScrollBar como filho a qualquer controle de usuário.

2) Passe o dedo para cima ou para baixo no controle do usuário (não na barra de rolagem). A barra de rolagem vertical se move na direção oposta, mesmo se não houver nenhuma conexão programática entre o conteúdo e o VScrollBar

Etapas para replicar bug ou comportamento - 2

1) Adicione VScrollBar como filho a qualquer controle de usuário.

2) Passe na barra de rolagem, ele se moverá para cima durante o deslize para cima e para baixo durante o deslize para baixo (comportamento correto)

3) Deslize para cima ou para baixo no controle do usuário. A barra de rolagem vertical se move na direção oposta

4) Agora deslize para cima ou para baixo na barra de rolagem vertical. A barra de rolagem vertical começa a se mover na direção oposta (comportamento de buggy, acontece somente após o bug no: 1)

Controle simples com barra de rolagem vertical para replicar esse comportamento

public class QuickViewer : Control
{
    public QuickViewer()
    {
        // Designer generated code
        // Copy pasted for illustration alone

        this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
        this.SuspendLayout();
        // 
        // vScrollBar1
        // 
        this.vScrollBar1.Location = new System.Drawing.Point(420, 4);
        this.vScrollBar1.Name = "vScrollBar1";
        this.vScrollBar1.Size = new Size(this.vScrollBar1.Width, 292);            
        // 
        // QuickViewer
        //             
        this.Controls.Add(this.vScrollBar1);
        this.Name = "QuickViewer";
        this.Size = new System.Drawing.Size(441, 296);
        this.vScrollBar1.Value = 5;        
        this.ResumeLayout(false);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
        //My actual control is different. I prepared a simple control to replicate the buggy behavior of VScrollBar

        //Control border
        Pen borderPen = new Pen(Color.LawnGreen, 5);
        e.Graphics.DrawRectangle(borderPen, ClientRectangle);
        borderPen.Dispose();

        //View area
        Rectangle rect = new Rectangle(ClientRectangle.Location, ClientRectangle.Size);
        rect.Inflate(-25, -10);
        e.Graphics.FillRectangle(Brushes.White, rect);
        e.Graphics.DrawRectangle(Pens.Black, rect);
        this.Font = new System.Drawing.Font("Segoe UI", 12, FontStyle.Bold);
        StringFormat format = new StringFormat() { Alignment = StringAlignment.Center };
        e.Graphics.DrawString("Quick viewer", this.Font, Brushes.Black, rect, format);
        string content = "This is a control created to illustrate the bug in VScrollBar." +
            "\n Control area refers to the area with white background" +
            "\n Control and Vertical Scrollbar are not programatically connected with each other."
            + "But still VScrollBar moves if you swipe on control area";

        Font font = new System.Drawing.Font("Segoe UI", 12, FontStyle.Italic);
        rect.Y += 20;
        e.Graphics.DrawString(content, font, Brushes.Black, rect, format);

        font.Dispose();
        format.Dispose();
        base.OnPaint(e);
    }

    /// <summary> 
    /// Required designer variable.
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary> 
    /// Clean up any resources being used.
    /// </summary>
    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }


    private System.Windows.Forms.VScrollBar vScrollBar1;

}

Pergunta, questão:

Existe alguma maneira de superar esse comportamento ou bug? Quero que a barra de rolagem se desloque para baixo enquanto desliza para baixo e para cima enquanto desliza para cima. Não deve haver rolagem ao passar o mouse sobre o conteúdo

questionAnswers(2)

yourAnswerToTheQuestion