* UIFlowLayoutPanel: 增加AutoScroll属性

* UIFlowLayoutPanel: 修复只显示水平滚动条时,鼠标滚轮滚动水平滚动条不动的问题
This commit is contained in:
Sunny 2023-01-11 10:56:09 +08:00
parent f6461b9cc2
commit be1239dad1

View File

@ -26,6 +26,8 @@
* 2022-11-13: V3.2.8 * 2022-11-13: V3.2.8
* 2022-11-13: V3.2.8 AddControlRemoveControl方法 * 2022-11-13: V3.2.8 AddControlRemoveControl方法
* 2022-11-25: V3.2.9 Get方法以获取控件 * 2022-11-25: V3.2.9 Get方法以获取控件
* 2023-01-11: V3.3.1 AutoScroll属性
* 2023-01-11: V3.3.1
******************************************************************************/ ******************************************************************************/
using System; using System;
@ -69,6 +71,14 @@ namespace Sunny.UI
timer.Start(); timer.Start();
} }
[DefaultValue(true)]
[Browsable(true)]
public new bool AutoScroll
{
get => Panel.AutoScroll;
set => Panel.AutoScroll = value;
}
private int scrollBarWidth = 0; private int scrollBarWidth = 0;
[DefaultValue(0), Category("SunnyUI"), Description("垂直滚动条宽度,最小为原生滚动条宽度")] [DefaultValue(0), Category("SunnyUI"), Description("垂直滚动条宽度,最小为原生滚动条宽度")]
@ -414,22 +424,23 @@ namespace Sunny.UI
private void Panel_MouseWheel(object sender, MouseEventArgs e) private void Panel_MouseWheel(object sender, MouseEventArgs e)
{ {
if (e.Delta < 0) //if (e.Delta < 0)
{ //{
if (Panel.VerticalScroll.Maximum > Panel.VerticalScroll.Value + 50) // if (Panel.VerticalScroll.Maximum > Panel.VerticalScroll.Value + 50)
Panel.VerticalScroll.Value += 50; // Panel.VerticalScroll.Value += 50;
else // else
Panel.VerticalScroll.Value = Panel.VerticalScroll.Maximum; // Panel.VerticalScroll.Value = Panel.VerticalScroll.Maximum;
} //}
else //else
{ //{
if (Panel.VerticalScroll.Value > 50) // if (Panel.VerticalScroll.Value > 50)
Panel.VerticalScroll.Value -= 50; // Panel.VerticalScroll.Value -= 50;
else // else
Panel.VerticalScroll.Value = 0; // Panel.VerticalScroll.Value = 0;
} //}
VBar.Value = Panel.VerticalScroll.Value; VBar.Value = Panel.VerticalScroll.Value;
HBar.Value = Panel.HorizontalScroll.Value;
} }
private void VBar_ValueChanged(object sender, EventArgs e) private void VBar_ValueChanged(object sender, EventArgs e)