c# - 滚动 TableLayoutPanel 到按钮单击
问题描述
我将其设置为使滚动条对我的 tablelayoutpanel 不可见:
tableLayoutPanel1.AutoScroll = false;
tableLayoutPanel1.HorizontalScroll.Visible = false;
tableLayoutPanel1.HorizontalScroll.Maximum = 0;
tableLayoutPanel1.VerticalScroll.Maximum = 0;
tableLayoutPanel1.VerticalScroll.Visible = false;
tableLayoutPanel1.AutoScroll = true;
如何设置按钮单击左右滚动?我试过这个:
int change = tableLayoutPanel1.HorizontalScroll.Value + tableLayoutPanel1.HorizontalScroll.SmallChange * 40; tableLayoutPanel1.AutoScrollPosition = new Point(change, 0);
但它只滚动一次。
解决方案
改为这样做:
int change = tableLayoutPanel1.HorizontalScroll.SmallChange * 40;
tableLayoutPanel1.AutoScrollPosition = new Point(Math.Abs(tableLayoutPanel1.AutoScrollPosition.X) + change , 0);
我们需要Math.Abs()
,因为AutoScrollPosition返回的值是负数。
推荐阅读
- ios - iOS 如何使用 parse swift 4 从 Facebook 获取用户照片
- python - Web 服务器并发问题
- javascript - 顺利移动谷歌地图标记
- python-3.x - 将 IntVar() 值转换为 Int
- azure - 无法从 Azure REST API 获取指标
- arrays - 删除后 UI 重新呈现并获取所有复选框
- node.js - 这个异步转换的承诺是否正确,为什么不需要等待?
- jenkins-pipeline - 仅当分支与 Jenkinsfile 管道中的主节点匹配时如何询问用户输入?
- python - 在 QWebEngineView 中获取 sslerrors 信号
- javascript - 使用 JavaScript 方向 API,需要在步行和公交中混合方向指令