Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在.Net控件上使用自定义滚动条的任何简单方法_C#_Winforms_Winapi - Fatal编程技术网

C# 在.Net控件上使用自定义滚动条的任何简单方法

C# 在.Net控件上使用自定义滚动条的任何简单方法,c#,winforms,winapi,C#,Winforms,Winapi,我有一个用户控件,我想自定义滚动。 我是否可以在不将AutoScroll标志设置为true的情况下使用已内置的水平和垂直滚动条? 我可以为两个滚动条启用并定义最小值和最大值,我可以在控件上看到它们,但当单击按钮时,它们不会移动,在滚动事件中,我没有得到任何有用的值 HorizontalScroll.Value = 0; VerticalScroll.Value = 0; HorizontalScroll.Minimum =

我有一个用户控件,我想自定义滚动。 我是否可以在不将AutoScroll标志设置为true的情况下使用已内置的水平和垂直滚动条? 我可以为两个滚动条启用并定义最小值和最大值,我可以在控件上看到它们,但当单击按钮时,它们不会移动,在滚动事件中,我没有得到任何有用的值

            HorizontalScroll.Value = 0;
            VerticalScroll.Value = 0;
            HorizontalScroll.Minimum = 0;
            HorizontalScroll.Maximum = 900;
            VerticalScroll.Minimum = 0;
            VerticalScroll.Maximum = 600;
            HorizontalScroll.Visible = true;
            VerticalScroll.Visible = true;
            HorizontalScroll.SmallChange = 2;
            HorizontalScroll.LargeChange = 4;
            HorizontalScroll.Enabled = true;
            VerticalScroll.Enabled = true;
            this.Scroll += new ScrollEventHandler(PanelsHolder_Scroll);
在滚动事件中,我无法获得任何更改。
有没有办法不用手动添加滚动控件就可以使用内置控件?

不明白为什么不使用
AutoScroll

如果使用控制器,则必须自行移动控制器


使用
e.NewValue
确定滚动的值。(在这种情况下)

我的控件正在映射一个巨大的图像(我正在使用PaintBackGround来显示它),然后在图像上插入一些控件(我已经需要手动更改它们的位置)。现在控件具有给定的大小。。后面图像的大小可能会改变,并且大多数情况下会比控件的大小更大。有没有一种方法可以告诉控件它的实际大小不是它在UI中的大小,以便AutoScroll知道拇指的大小?我不确定我是否理解,但您可以将它单独放在另一个单独的userconrol中,然后自动Scroll它。。