zoukankan
html css js c++ java
可以显示行号的DataGrid(WinForm)
关键字:WinForm DataGrid 显示行号
近日在网上搜到一些如何在WinForm的DataGrid上显示行号的资料,因此自己也写了一段代码,因为是在前人实践的基础上做了些修改,所以不敢独享。如下:
/**/
///
<summary>
///
可以显示行号的DataGrid
///
</summary>
public
class
HDataGrid : System.Windows.Forms.DataGrid
{
public
HDataGrid():
base
()
{}
private
bool
_DisplayRowNumber
=
false
;
/**/
///
<summary>
///
控制是否显示行号
///
</summary>
[Browsable(
true
),DefaultValue(
false
),Description(
"
是否显示行号
"
)]
public
bool
DisplayRowNumber
{
get
{
return
_DisplayRowNumber; }
set
{
_DisplayRowNumber
=
value;
this
.Invalidate();
}
}
/**/
///
<summary>
///
重载OnPaint方法显示行号
///
</summary>
///
<param name="e"></param>
protected
override
void
OnPaint(System.Windows.Forms.PaintEventArgs e)
{
base
.OnPaint (e);
//
显示行号
if
(DisplayRowNumber
&&
this
.RowHeadersVisible
&&
this
.VisibleColumnCount
>
0
)
{
if
(
this
.DataSource
==
null
)
return
;
int
iRowNumStart
=
this
.VertScrollBar.Value;
int
yPos
=
0
;
int
iRowNumEnd
=
iRowNumStart
+
this
.VisibleRowCount;
while
(iRowNumStart
<
iRowNumEnd)
{
yPos
=
this
.GetCellBounds(iRowNumStart
++
,
0
).Y
+
2
;
string
strRowNum
=
string
.Format(
"
{0}
"
,iRowNumStart);
e.Graphics.DrawString(strRowNum,
this
.Font ,
new
System.Drawing.SolidBrush(System.Drawing.Color.Black),
6
, yPos);
}
}
}
}
查看全文
相关阅读:
视频直播技术-视频-编码-传输-秒开等<转>
弹出框JBox实例
Dijkstra in python
oracle 修改索引现有表空间
WIN7 如何关闭Aero
不再打酱油
Android 开机默认横竖屏
cocos2d-x 3.0 开发(一) Hello_New_World
PHOTOSHOP 中画笔工具和铅笔工具的一个小小差别
一种从JSON数据创建Java类的高效办法
原文地址:https://www.cnblogs.com/ZDJ/p/117000.html
最新文章
ASP.NET Core 如何设置发布环境
C# 中的#if、#elif、#else、#endif等条件编译符号 (转载)
C# 获取打印机状态
C# 获取所有打印机
c#操作txt
.net Windows服务程序和安装程序制作图解 及 VS 2010创建、安装、调试 windows服务(windows service)
C# 任意类型数据转JSON格式
Java:String和Date、Timestamp之间的转换
SQLite学习手册(内置函数)
Android控件系列之CheckBox
热门文章
Java 字符串拼接方式
android sqlite 一次创建多个表
OpenGL 着色器 03
openGL一些概念02
openGL一些概念01
git教程
git clone 某一特定分支<转>
Learnopengl
如何实现1080P延迟低于500ms的实时超清直播传输技术<转>
ffmpeg/ffplay源码剖析笔记<转>
Copyright © 2011-2022 走看看