gpt4 book ai didi

c# - 更改dataGridView中垂直滚动条的宽度

转载 作者:行者123 更新时间:2023-11-30 14:24:52 27 4
gpt4 key购买 nike

我正在为触摸屏开发一个应用程序。我被要求使滚动条的尺寸更大,以便用户可以使用它们。到目前为止,我还无法解决这个问题。我读到如果您增加 MainForm 窗口滚动条的宽度,则 dataGridView 将继承它。我已经尝试了一些方法,但到目前为止未能让它发挥作用。

我尝试过的最接近的两种方式是

1) 当我构建网格时,我添加以下内容

 foreach (Control ctrl in dataGridView1.Controls)
if (ctrl.GetType() == typeof(VScrollBar))
ctrl.Width = 86;

不幸的是,这似乎得到了 17 的宽度,但无法用这个新值 86 覆盖它。

接下来,我将其放入构建 MainForm 的位置,但仍然效果不佳,垂直滚动条看起来仍然相同。

2) 我发现我可以从工具箱中添加一个滚动条。在我尝试连接到 dataGridView 之前,这里有点进展。这是我做不到的。我有一个事件,所以每次移动它我都应该能够移动网格。下面注释掉了一些我用来确保获得值(value)的项目。

 private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
//MessageBox.Show(vScrollBar1.Value.ToString());
// MessageBox.Show(SystemInformation.VerticalScrollBarWidth.ToString());
// CalculateVerticalScrollbarWidth() * 4;
}

所以我想我会问比我更高智商的观众,因为有人可能已经解决了这个问题并会与我分享答案。

最佳答案

您可以关闭 DGV 的垂直滚动条:

dataGridView1.ScrollBars = ScrollBars.Horizontal;

并添加一个 VerticalScrolllBar 控件。确保在 snych 中保持其大小及其最大值:

vScrollBar1.Maximum = dataGridView1.RowCount;

滚动同步代码两者 Scroll 事件:

private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
{
vScrollBar1.Value = e.NewValue;
}


private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
dataGridView1.FirstDisplayedScrollingRowIndex = e.NewValue;
}

enter image description here

关于c# - 更改dataGridView中垂直滚动条的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40550618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com