* UIDataGridView:调整水平滚动条

This commit is contained in:
Sunny 2020-08-28 22:11:06 +08:00
parent 6f31600325
commit 77ec669592
4 changed files with 33 additions and 24 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -83,6 +83,16 @@ namespace Sunny.UI
HorizontalScrollBar.VisibleChanged += HorizontalScrollBar_VisibleChanged; HorizontalScrollBar.VisibleChanged += HorizontalScrollBar_VisibleChanged;
} }
private void VerticalScrollBar_ValueChanged(object sender, EventArgs e)
{
VBar.Value = FirstDisplayedScrollingRowIndex;
}
private void VBarValueChanged(object sender, EventArgs e)
{
FirstDisplayedScrollingRowIndex = VBar.Value;
}
private void HorizontalScrollBar_VisibleChanged(object sender, EventArgs e) private void HorizontalScrollBar_VisibleChanged(object sender, EventArgs e)
{ {
HBar.Value = FirstDisplayedScrollingColumnIndex; HBar.Value = FirstDisplayedScrollingColumnIndex;
@ -90,20 +100,21 @@ namespace Sunny.UI
private void HBar_ValueChanged(object sender, EventArgs e) private void HBar_ValueChanged(object sender, EventArgs e)
{ {
int idx = 0; FirstDisplayedScrollingColumnIndex = HBar.Value;
for (int i = 0; i < ColumnCount; i++) // int idx = 0;
{ // for (int i = 0; i < ColumnCount; i++)
if (Columns[i].Visible && idx == HBar.Value) // {
{ // if (Columns[i].Visible && idx == HBar.Value)
FirstDisplayedScrollingColumnIndex = i; // {
break; // FirstDisplayedScrollingColumnIndex = i;
} // break;
// }
if (Columns[i].Visible) //
{ // if (Columns[i].Visible)
idx++; // {
} // idx++;
} // }
// }
} }
public void Init() public void Init()
@ -152,15 +163,7 @@ namespace Sunny.UI
} }
} }
private void VerticalScrollBar_ValueChanged(object sender, EventArgs e)
{
VBar.Value = FirstDisplayedScrollingRowIndex;
}
private void VBarValueChanged(object sender, EventArgs e)
{
FirstDisplayedScrollingRowIndex = VBar.Value;
}
public void SetScrollInfo() public void SetScrollInfo()
{ {
@ -180,9 +183,15 @@ namespace Sunny.UI
VBar.Visible = false; VBar.Visible = false;
} }
if (HorizontalScrollBar.Visible) // if (HorizontalScrollBar.Visible)
// {
// HBar.Maximum = VisibleColumnCount();
// HBar.Value = FirstDisplayedScrollingColumnIndex;
// HBar.Visible = true;
// }
if (ColumnCount > DisplayedColumnCount(false))
{ {
HBar.Maximum = VisibleColumnCount(); HBar.Maximum = ColumnCount - DisplayedColumnCount(false);
HBar.Value = FirstDisplayedScrollingColumnIndex; HBar.Value = FirstDisplayedScrollingColumnIndex;
HBar.Visible = true; HBar.Visible = true;
} }