Commit 2597001f kwwwvagaa

滚动条bug修复

1 个父辈 d8f63fb2
...@@ -488,18 +488,6 @@ namespace HZH_Controls.Controls ...@@ -488,18 +488,6 @@ namespace HZH_Controls.Controls
} }
blnHasVScrollbar = _height > dgv.Height; blnHasVScrollbar = _height > dgv.Height;
} }
//var dgvt = dgv.GetType();
//var piH = dgvt.GetProperty("HorizontalScrollBar", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
//var objH = piH.GetValue(dgv, null);
//ScrollBar h = (ScrollBar)objH;
//blnHasHScrollbar = h.Visible;
//var piV = dgvt.GetProperty("VerticalScrollBar", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
//var objV = piV.GetValue(dgv, null);
//ScrollBar v = (ScrollBar)objV;
//blnHasVScrollbar = v.Visible;
barV.Maximum = dgv.Rows.Count; barV.Maximum = dgv.Rows.Count;
barV.Visible = blnHasVScrollbar; barV.Visible = blnHasVScrollbar;
barV.Value = dgv.FirstDisplayedScrollingRowIndex; ; barV.Value = dgv.FirstDisplayedScrollingRowIndex; ;
......
...@@ -425,12 +425,18 @@ namespace HZH_Controls.Controls ...@@ -425,12 +425,18 @@ namespace HZH_Controls.Controls
float fPerc = (float)moThumbLeft / (float)nPixelRange; float fPerc = (float)moThumbLeft / (float)nPixelRange;
float fValue = fPerc * (Maximum - (nNewThumbLeft == nPixelRange ? 0 : LargeChange)); float fValue = fPerc * (Maximum - (nNewThumbLeft == nPixelRange ? 0 : LargeChange));
//float fValue = fPerc * (Maximum - LargeChange); //float fValue = fPerc * (Maximum - LargeChange);
if (Math.Abs(moValue - fValue) >= 1) if (Math.Abs(moValue - fValue) < 1)
Application.DoEvents(); {
else
return; return;
}
moValue = (int)fValue; moValue = (int)fValue;
Invalidate(); Invalidate();
try
{
Application.DoEvents();
}
catch { }
} }
} }
} }
......
...@@ -487,19 +487,18 @@ namespace HZH_Controls.Controls ...@@ -487,19 +487,18 @@ namespace HZH_Controls.Controls
float fPerc = (float)moThumbTop / (float)nPixelRange; float fPerc = (float)moThumbTop / (float)nPixelRange;
float fValue = fPerc * (Maximum - (nNewThumbTop == nPixelRange ? 0 : LargeChange)); float fValue = fPerc * (Maximum - (nNewThumbTop == nPixelRange ? 0 : LargeChange));
try if (Math.Abs(moValue - fValue) < 1)
{
if (Math.Abs(moValue - fValue) >= 1)
Application.DoEvents();
else
{ {
return; return;
} }
}
catch
{ }
moValue = (int)fValue; moValue = (int)fValue;
Invalidate(); Invalidate();
try
{
Application.DoEvents();
}
catch { }
} }
} }
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!