4

i have the Problem that i have a Menu inside a Stackpanel, that is inside of an ScrollViewer. Now it's possible to scroll horizontally even if the Horizontally Scrollbar is Hidden. The Mainproblem now is, that i can't make a Clickevent for the buttons. It seems that my Scroll Event blocks something under it.

enter image description here

The XAML Code

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="200"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="110"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="100"/>
    </Grid.RowDefinitions>
    <Rectangle x:Name="rectangel1" Grid.RowSpan="3">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF0036A0" Offset="0.003"/>
                <GradientStop Color="#FFE9EDFF" Offset="1"/>
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>
    <Grid Grid.Column="1" Grid.ColumnSpan="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="750"/>
            <ColumnDefinition Width="20"/>
        </Grid.ColumnDefinitions>
        <ScrollViewer x:Name="scrollviewer1" Grid.Column="1" Grid.ColumnSpan="2" 
            HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled"
            PanningMode="HorizontalOnly"
            MouseUp="UIElement_OnMouseUp"
            PreviewMouseLeftButtonDown="UIElement_OnPreviewMouseLeftButtonDown"
            PreviewMouseMove="UIElement_OnPreviewMouseMove" Cursor="Hand">

            <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.ColumnSpan="1">
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn1" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 1" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn2" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 2" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <!--<Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn3" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 3" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>-->
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Button x:Name="btn3" Content="Station 3" Click="btn3_Click" Style="{DynamicResource ButtonStyle1}" >
                        <Button.Resources>
                            <Style x:Key="ButtonFocusVisual">
                                <Setter Property="Control.Template">
                                    <Setter.Value>
                                        <ControlTemplate>
                                            <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                            <LinearGradientBrush x:Key="ButtonNormalBackground" EndPoint="0,1" StartPoint="0,0">
                                <GradientStop Color="#F3F3F3" Offset="0"/>
                                <GradientStop Color="#EBEBEB" Offset="0.5"/>
                                <GradientStop Color="#DDDDDD" Offset="0.5"/>
                                <GradientStop Color="#CDCDCD" Offset="1"/>
                            </LinearGradientBrush>
                            <SolidColorBrush x:Key="ButtonNormalBorder" Color="#FF707070"/>
                            <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
                                <Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>
                                <Setter Property="Background" Value="{StaticResource ButtonNormalBackground}"/>
                                <Setter Property="BorderBrush" Value="{StaticResource ButtonNormalBorder}"/>
                                <Setter Property="BorderThickness" Value="1"/>
                                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
                                <Setter Property="HorizontalContentAlignment" Value="Center"/>
                                <Setter Property="VerticalContentAlignment" Value="Center"/>
                                <Setter Property="Padding" Value="1"/>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type Button}">
                                            <Grid>
                                                <Rectangle Fill="#FFFFA6A6" RadiusY="10" RadiusX="10"/>
                                                <Label x:Name="label" Content="BUTTON" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                                            </Grid>
                                            <ControlTemplate.Triggers>
                                                <Trigger Property="IsKeyboardFocused" Value="true"/>
                                                <Trigger Property="ToggleButton.IsChecked" Value="true"/>
                                                <Trigger Property="IsEnabled" Value="false">
                                                    <Setter Property="Foreground" Value="#ADADAD"/>
                                                </Trigger>
                                            </ControlTemplate.Triggers>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </Button.Resources>
                    </Button>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn4" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 4" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn5" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 5" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn6" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 6" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn7" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 7" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle x:Name="btn8" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="No Btn 8" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,50,10">
                    <Button x:Name="btn9" Content="Station 9" Click="btn9_Click" Style="{DynamicResource ButtonStyle1}" >
                        <Button.Resources>
                            <Style x:Key="ButtonFocusVisual">
                                <Setter Property="Control.Template">
                                    <Setter.Value>
                                        <ControlTemplate>
                                            <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                            <LinearGradientBrush x:Key="ButtonNormalBackground" EndPoint="0,1" StartPoint="0,0">
                                <GradientStop Color="#F3F3F3" Offset="0"/>
                                <GradientStop Color="#EBEBEB" Offset="0.5"/>
                                <GradientStop Color="#DDDDDD" Offset="0.5"/>
                                <GradientStop Color="#CDCDCD" Offset="1"/>
                            </LinearGradientBrush>
                            <SolidColorBrush x:Key="ButtonNormalBorder" Color="#FF707070"/>
                            <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
                                <Setter Property="FocusVisualStyle" Value="{StaticResource ButtonFocusVisual}"/>
                                <Setter Property="Background" Value="{StaticResource ButtonNormalBackground}"/>
                                <Setter Property="BorderBrush" Value="{StaticResource ButtonNormalBorder}"/>
                                <Setter Property="BorderThickness" Value="1"/>
                                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
                                <Setter Property="HorizontalContentAlignment" Value="Center"/>
                                <Setter Property="VerticalContentAlignment" Value="Center"/>
                                <Setter Property="Padding" Value="1"/>
                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="{x:Type Button}">
                                            <Grid>
                                                <Rectangle Fill="#FFFFA6A6" RadiusY="10" RadiusX="10"/>
                                                <Label x:Name="label" Content="Button 9" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                                            </Grid>
                                            <ControlTemplate.Triggers>
                                                <Trigger Property="IsKeyboardFocused" Value="true"/>
                                                <Trigger Property="ToggleButton.IsChecked" Value="true"/>
                                                <Trigger Property="IsEnabled" Value="false">
                                                    <Setter Property="Foreground" Value="#ADADAD"/>
                                                </Trigger>
                                            </ControlTemplate.Triggers>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </Button.Resources>
                    </Button>
                </Grid>
            </StackPanel>

        </ScrollViewer>

        <Rectangle x:Name="rectlinks" Grid.Column="0" Fill="#FFFF7676" MouseEnter="rectlinks_MouseEnter" />
        <Rectangle x:Name="rectrechts" Grid.Column="2" MouseEnter="rectrechts_MouseEnter" Fill="#FFFF7474"  />
    </Grid>
    <Label x:Name="label1" Content="Wert"/>
    <Label x:Name="label2" Content="mehr" Margin="0,50,0,0"/>


</Grid>

The C# Code

using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;


namespace ScrollMenue
{
    /// <summary>
    /// Interaktionslogik für MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private double hOff;

        public MainWindow()
        {
            InitializeComponent();



        }



        private void rectrechts_MouseEnter(object sender, MouseEventArgs e)
        {
            label1.Content = "rechts";
            scrollviewer1.LineRight();
        }

        private void rectlinks_MouseEnter(object sender, MouseEventArgs e)
        {

            if (rectlinks.IsMouseOver == true)
            {
                scrollviewer1.ScrollToHorizontalOffset(scrollviewer1.HorizontalOffset + 10);
                label1.Content = "links";
                scrollviewer1.LineLeft();
            }
        }


        private Point scrollMousePoint;

        private void UIElement_OnMouseUp(object sender, MouseButtonEventArgs e)
        {
            scrollviewer1.ReleaseMouseCapture();
        }

        private void UIElement_OnPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            scrollviewer1.CaptureMouse();
            scrollMousePoint = e.GetPosition(scrollviewer1);
            hOff = scrollviewer1.HorizontalOffset;
        }

        private void UIElement_OnPreviewMouseMove(object sender, MouseEventArgs e)
        {
            if (scrollviewer1.IsMouseCaptured)
            {
                scrollviewer1.ScrollToHorizontalOffset(hOff + (scrollMousePoint.X - e.GetPosition(scrollviewer1).X));
            }
        }

        private void btn9_Click(object sender, RoutedEventArgs e)
        {
            label2.Content = "Click";
        }

        private void btn3_Click(object sender, RoutedEventArgs e)
        {
            label2.Content = "Click";
        }
    }
}
4
  • Your Xaml code is a mess, can you simplify it by removing stuff unrelated to your specific problem? Btw, what makes you think ScrollViewer has something to do with click events? Commented Nov 24, 2016 at 8:23
  • @3615 , his scrolview is related to click events as he is scrolling by pressing down the mouse button. I like that he has all the code, as I can paste it in my VS and run it.. Commented Nov 24, 2016 at 8:37
  • 1
    @JohnChris I agree that the question must be Complete and Verifiable, but it's also has to be Minimal as stated in How to create a Minimal, Complete, and Verifiable example Commented Nov 24, 2016 at 8:50
  • @3615 fair enough, ill up your comment as that's the first time I've seen that link, thanks:) Commented Nov 24, 2016 at 9:54

2 Answers 2

1

So now i found the solution i wanted, with help from JohnChris and an other good programmer :D thanks to all :D

Must add a reference to the project, UIAutomationProvider.dll and two using statements, using System.Windows.Automation.Peers and System.Windows.Automation.Provider, these allow usage of Invoke Provider and Peers

The XAML Code:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="200"/>
        <ColumnDefinition Width="*"/>
        <ColumnDefinition Width="200"/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="110"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="100"/>
    </Grid.RowDefinitions>
    <Rectangle Name="rectangel1" Grid.RowSpan="3">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF0036A0" Offset="0.003"/>
                <GradientStop Color="#FFE9EDFF" Offset="1"/>
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>
    <Grid Grid.Column="1" Grid.ColumnSpan="2">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="20"/>
            <ColumnDefinition Width="750"/>
            <ColumnDefinition Width="20"/>
        </Grid.ColumnDefinitions>
        <ScrollViewer Name="scrollviewer1" Grid.Column="1" Grid.ColumnSpan="2" 
                      HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled"
                      PanningMode="HorizontalOnly"
                      MouseUp="UIElement_OnMouseUp"
                      PreviewMouseLeftButtonDown="UIElement_OnPreviewMouseLeftButtonDown"
                      PreviewMouseMove="UIElement_OnPreviewMouseMove"
                      >

            <StackPanel Orientation="Horizontal" Grid.Column="1" Grid.ColumnSpan="1">
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn1" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 1" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn2" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 2" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn3" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <!--<Label Content="Station 3" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>-->
                    <Button Name="BtnFoo" Click="ButtonBase_OnClick">Foo!</Button>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn4" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 4" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn5" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 5" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn6" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 6" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,10,10">
                    <Rectangle Name="btn7" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 7" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
                <Grid Width="87" Height="90" Margin="10,10,50,10">
                    <Rectangle Name="btn8" Fill="#FFF39999" RadiusX="10" RadiusY="10" />
                    <Label Content="Station 8" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="16" FontWeight="Bold"/>
                </Grid>
            </StackPanel>

    </ScrollViewer>

    <Rectangle Name="rectlinks" Grid.Column="0" Fill="#FFFF7676" MouseEnter="rectlinks_MouseEnter" />
    <Rectangle Name="rectrechts" Grid.Column="2" MouseEnter="rectrechts_MouseEnter" Fill="#FFFF7474"  />
</Grid>
<Label Name="label1" Content="Wert"/>
    <Label Name="label2" Content="mehr" Margin="0,50,0,0"/>


</Grid>

The C# Code:

namespace ScrollMenue
{
    /// <summary>
    /// Interaktionslogik für MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private double hOff;

        public MainWindow()
        {
            InitializeComponent();
        }

        private void rectrechts_MouseEnter(object sender, MouseEventArgs e)
        {
            //label1.Content = "rechts";
            //scrollviewer1.LineRight();
        }

        private void rectlinks_MouseEnter(object sender, MouseEventArgs e)
        {

            //if (rectlinks.IsMouseOver == true)
            //{
            //    scrollviewer1.ScrollToHorizontalOffset(scrollviewer1.HorizontalOffset + 10);
            //    label1.Content = "links";
            //    scrollviewer1.LineLeft();
            //}
        }


        private Point scrollMousePoint;
        private bool drag;

        private void UIElement_OnMouseUp(object sender, MouseButtonEventArgs e)
        {
            scrollviewer1.ReleaseMouseCapture();

            if (IsMouseOverControl(BtnFoo) && !drag)
            {
                var peer = new ButtonAutomationPeer(BtnFoo);
                var invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;

                invokeProv?.Invoke();
            }

            drag = false;
        }

        private void UIElement_OnPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {

            scrollMousePoint = e.GetPosition(scrollviewer1);
            hOff = scrollviewer1.HorizontalOffset;

            drag = false;
            scrollviewer1.CaptureMouse();
        }

        private void UIElement_OnPreviewMouseMove(object sender, MouseEventArgs e)
        {
            if (scrollviewer1.IsMouseCaptured)
            {
                var moveTo =  scrollMousePoint.X - e.GetPosition(scrollviewer1).X;

                if (Math.Abs(moveTo ) > 1)
                {
                    drag = true;
                    scrollviewer1.ScrollToHorizontalOffset(hOff + moveTo);
                }


            }
        }

        private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
        {
           MessageBox.Show("Click");
        }

        private bool IsMouseOverControl(UIElement control)
        {
            var mousePos = Mouse.GetPosition(control);
            var size = control.RenderSize;

            if (mousePos.X < 0 || mousePos.X > size.Width ||
                mousePos.Y < 0 || mousePos.Y > size.Height)
            {
                return false;
            }

            return true;
        }
    }
}
Sign up to request clarification or add additional context in comments.

1 Comment

That's a great solution, a bit more advanced then my skills, so I will be researching all these new things, thanks (upvoting)
0

I found your solution,

I just did it for one button, but you can do for all,

 private void UIElement_OnPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        if (e.Source == btn3)
        {  btn3_Click(sender, e); }

        scrollMousePoint = e.GetPosition(scrollviewer1);
        hOff = scrollviewer1.HorizontalOffset;
        scrollviewer1.CaptureMouse();
    }

  private void btn9_Click(object sender, RoutedEventArgs e)
    {
        label2.Content = "i AM WORKING"; //You can press and still scroll
    }

UPDATE:

From the comments you say you now want to not trigger the button when touched as you may just want to scroll, you need to implement some type of logic such as a hold gesture , here is a post on that

Do WPF have Touch-and-Hold gesture?

UPDATE 2:

Yay I did it, and it's a really simple solution,

add another handler in xaml for PreviewMouseLeftButtonUp then in code behind(c#) do this:

     private DateTime mouseTimer;
    private void UIElement_OnPreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        mouseTimer = DateTime.Now;
        scrollviewer1.CaptureMouse();
        scrollMousePoint = e.GetPosition(scrollviewer1);
        hOff = scrollviewer1.HorizontalOffset;

    }

    private void scrollviewer1_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        TimeSpan difference = DateTime.Now - mouseTimer;

        if (difference.TotalSeconds < 1)
        {
            btn3_Click(sender, e);
        }
        else
            return;

    }

So now , if its a Click, it opens, but you hold the click, it will just scroll, dateTime usage is awesome there

6 Comments

Hi JohnChris, your example is good but it didn't solve the Problem, because when you start to scroll the Scrollviewer it takes the click event if you are over the button and you can't scroll anymore :D I Think there is a little bit more to do.
@PCode, remove the message box and put the label update and it works, you can click the button and it will update the label content and you can still scroll. I updated my answer to show the label, I have tried it, it updates and you can click the button and scroll
Your example works but first it should take the drag (scroll) event.... In your example it takes the click an still scroll what is ok but not that what i am looking for because when my Button event would open an other View or UserControl it would open it but i can't scroll in the menu to the (for example) 23 Button :D Do you know what i mean? If i want to scroll back to the Button 23 (for example) and i would start to scroll with the mousebutton over button 3 it would first call the button 3 event and then scroll but when button 3 switches between windows, i would leave the Scrollview
@PCode, then you need to think about the logic you want to employ, do you want the button to be a double tap to open? do you want a time delay (for example if you hold button for more than 2 sec it will open) .... hope that helps - but yes the original question was answered... :p
Yes JohnChris, i think that would be cool. If i Press my left Mousebutton longer than one Second or directly Move the mouse in the scrollviewer i can only scroll and otherwise i can click. like the scrollingmenu on an android mobilephone when you drag the option menu down and you can scroll through the icon to choose "wifi, bluetooth" etc. :D and that also don't take a mouseclick when i scroll and are longer than one second in the scrolling field :D by the way, thanks for your help :D
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.