winform重绘滚动条
时间: 2023-02-11 16:24:55 浏览: 159
Windows Forms 中的重绘滚动条可以通过调用滚动条控件的 Refresh() 方法来实现。例如,对于一个名为 "scrollBar1" 的滚动条控件,可以使用 scrollBar1.Refresh() 来重绘它。
除此之外,还可以在 Scrollbar 值更新后,手动调用 Invalidate() 方法重绘滚动条
需要注意的是,如果您想要在更改滚动条的值时重绘滚动条,则需要在更改值之后调用 Refresh() 或 Invalidate() 方法。
相关问题
winform 重绘滚动条
要重绘滚动条,可以使用以下步骤:
1. 创建一个自定义控件,继承自 ScrollBar 控件。
2. 重写 OnPaint 方法,在该方法中绘制滚动条的外观。
3. 在需要重绘滚动条的时候,调用该控件的 Invalidate() 方法,触发重绘。
下面是一个简单的示例代码:
```csharp
public class CustomScrollBar : ScrollBar
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 绘制滚动条的外观
// ...
}
}
// 使用自定义滚动条控件
CustomScrollBar scrollBar = new CustomScrollBar();
// 重绘滚动条
scrollBar.Invalidate();
```
需要注意的是,在重绘滚动条的时候,应该避免频繁地调用 Invalidate() 方法,以免影响性能。通常可以在 Scroll 事件中处理重绘逻辑,只在滚动位置发生改变时才重绘。
winform重绘DATAGRIDVIEW滚动条
以下是在.NET WinForms中重绘DataGridView滚动条的步骤和代码示例:
1. 创建一个自定义的DataGridView控件,继承自DataGridView。
2. 在自定义控件中重写OnPaint方法,并在其中调用基类的OnPaint方法。
3. 在OnPaint方法中,使用Graphics对象绘制滚动条的样式和颜色。
代码示例:
```csharp
class MyDataGridView : DataGridView
{
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 绘制垂直滚动条
Rectangle verticalScrollBarRect = new Rectangle(
this.Width - SystemInformation.VerticalScrollBarWidth,
this.ColumnHeadersHeight,
SystemInformation.VerticalScrollBarWidth,
this.Height - this.ColumnHeadersHeight);
e.Graphics.FillRectangle(Brushes.Gray, verticalScrollBarRect);
// 绘制水平滚动条
Rectangle horizontalScrollBarRect = new Rectangle(
this.RowHeadersWidth,
this.Height - SystemInformation.HorizontalScrollBarHeight,
this.Width - this.RowHeadersWidth,
SystemInformation.HorizontalScrollBarHeight);
e.Graphics.FillRectangle(Brushes.Gray, horizontalScrollBarRect);
}
}
```
阅读全文