在datagridview中画一根线,线的终点超出datagridview显示范围,点击滚动条,线条无法保持原样(附代码)

l_kk l_kk 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在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`控件时,只需将其拖放到窗体上,或者在代码中实例化并添加到窗体中,然后像平常一样绑定数据源,即可实现滚动条位置的保持功能。

learnren

C# WinForms DataGridView线条自绘:分组分隔线控件实现

DataGridView 是 WinForms 中应用最广泛的数据表格控件,但其默认的网格线仅支持全局统一样式,无法满足在指定行绘制独立分隔线的需求。通过理解 OnPaint 事件与 GDI+ 绘制的底层机制,开发者可以在 DataGridView 完成基础渲染后再自绘线条,从而获得完全可控的线宽、颜色和跨列连续绘制能力。这种自定义绘制方法不仅适用于分组数据可视化,也常用于设备日志边界标记、当前行指示器等工业上位机场景。本文围绕一个名为 DataGridViewLineGrid 的封装控件,解析自绘坐标计算

董云舟

datagridview 自定义滚动条

然而,标准的DataGridView控件默认的滚动条样式和功能可能无法满足所有设计需求。有时,为了提升用户界面的美观度或者实现特定的交互效果,我们需要自定义滚动条。

starmoonh

两种方法实现datagridview图像点击时显示在picturebox

### 两种方法实现DataGridView图像点击时显示在PictureBox在C#开发中,有时我们需要将数据库中的图像数据绑定到DataGridView,并实现在用户点击某一行或某一格时,可以在PictureBox

RangoPd2020

DataGridView索引超出范围解决方案[源码]

然而,在使用过程中可能会遇到一些技术难题,其中之一就是“DataGridView索引超出范围”的问题。这个问题产生的根本原因通常是因为在尝试获取选中行的序号时,并没有正确地选中整行数据。

pink7
评论 5
收藏 已收藏
分享
返回顶部
l_kk
C# 111,128 成员 642,537 内容