在datagridview中画一根线,线的终点超出datagridview显示范围,点击滚动条,线条无法保持原样(附代码)
如何使得线条保持原样?
还请各位帮忙看看,谢谢了。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 20; i++)
{
dataGridView1.Columns.Add(i.ToString(),"clo"+i.ToString());
}
dataGridView1.Rows.Add(50);
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
dataGridView1.Rows[i].HeaderCell.Value = "PD" + i.ToString();
}
}
private void dataGridView1_Paint(object sender, PaintEventArgs e)
{
Pen p = new Pen(Color.Black, 2);
int startX;
int startY;
int endX;
int endY;
startX = dataGridView1.Rows[1].HeaderCell.Size.Width;
startY = dataGridView1.Columns[1].HeaderCell.Size.Height;
endX = dataGridView1.Size.Width;
endY = dataGridView1.Size.Height;
Point start = new Point(startX, startY);
Point end = new Point(endX, endY);
e.Graphics.DrawLine(p, start, end);
}
}
}
相关推荐
DataGridView固定滚动条
使用这个自定义的`DataGridViewExt`控件时,只需将其拖放到窗体上,或者在代码中实例化并添加到窗体中,然后像平常一样绑定数据源,即可实现滚动条位置的保持功能。
C# WinForms DataGridView线条自绘:分组分隔线控件实现
DataGridView 是 WinForms 中应用最广泛的数据表格控件,但其默认的网格线仅支持全局统一样式,无法满足在指定行绘制独立分隔线的需求。通过理解 OnPaint 事件与 GDI+ 绘制的底层机制,开发者可以在 DataGridView 完成基础渲染后再自绘线条,从而获得完全可控的线宽、颜色和跨列连续绘制能力。这种自定义绘制方法不仅适用于分组数据可视化,也常用于设备日志边界标记、当前行指示器等工业上位机场景。本文围绕一个名为 DataGridViewLineGrid 的封装控件,解析自绘坐标计算
datagridview 自定义滚动条
然而,标准的DataGridView控件默认的滚动条样式和功能可能无法满足所有设计需求。有时,为了提升用户界面的美观度或者实现特定的交互效果,我们需要自定义滚动条。
两种方法实现datagridview图像点击时显示在picturebox
### 两种方法实现DataGridView图像点击时显示在PictureBox在C#开发中,有时我们需要将数据库中的图像数据绑定到DataGridView,并实现在用户点击某一行或某一格时,可以在PictureBox
DataGridView索引超出范围解决方案[源码]
然而,在使用过程中可能会遇到一些技术难题,其中之一就是“DataGridView索引超出范围”的问题。这个问题产生的根本原因通常是因为在尝试获取选中行的序号时,并没有正确地选中整行数据。


