2024年3月31日发(作者:)
DataGridView添加右键菜单等技巧 DataGridView添加右键菜
单等技巧2010-12-16 2256 .右键点击行时选中行并弹出操作菜
单1.添加一个快捷菜单contextMenuStrip1 2.给dataGridView1
程序代码private void 的CellMouseDown事件添加处理程序
DataGridView1_CellMouseDownobject
senderDataGridViewCellMouseEventArgs e
ex0 //
态就不再进行设置
edfalse
election
edtrue //只选中一行时设
置活动单元格1
若行已是选中状
Index //弹出操作菜单
Position.Y
果图2.复制选中单元格的内容到剪贴板程序代码
效
pboardContent 3.
只显示自定义列程序代码
nerateColumnsfalse//必须在代码中设置
4.显示图片通常我们将图片路径保存在数据库中但在
①.添加一个dataGridView1中要显示图片可以进行如下操作
DataGridViewTextBoxColumn类型的列
NamePathDataPropertyNamePicVisibleFalse ②.添加一个
DataGridViewImageColumn类型的列NamePic
③.dataGridView1控件DataBindingComplete事件处理程序如
下程序代码private void
DataGridView1_DataBindingCompleteobject
senderDataGridViewBindingCompleteEventArgs e Image
image1null Image image2null string forint i0i
path
lepath image2new Bitmapimage1120120//
重设大小mage2
//
mage2 5.当网格未填充满控件时画线来填充空白区域
码///summary ///绘制网格填充空白区域
程序代
////summary ///param
namesender/param ///param namee/param public void
CellPaintingobject senderDataGridViewCellPaintingEventArgs e
DataGridView myDataGridViewDataGridViewsender
0 int
HeadersHeight//标题行高int
sHeightDataGridViewElementS
e//所有可见行总高
件高度int
int //控
tRowDataGridViewElementState
e//最后一行索引int
//列总数int width0 //当
网格未充满控件时才画线ifij k usingBrush gridBrushnew
lor usingPen
gridLinePennew PengridBrush //处理标题列
dersVisible
dersWidth
negridLinePenwidthijwidthk else width1 //
理正常列forint index0index countindex
处
e
negridLinePenwidthijwidthk 6.
手动添加列再在编辑列界面中逐个设置宽度。注意
AutoSizeColumnsMode的值必须为
能生效7.单元格内容格式化
否则自定义宽度不
自定义列宽
程序代码private void
dataGridView1_CellFormattingobject
senderDataGridViewCellFormattingEventArgs e DataGridView
myDataGridViewDataGridViewsender
Index
ng
ng 8.打造一
个漂亮的DataGridView 程序代码//样式
zeColumnsModeDataGridViewAutoSizeC
//列宽不自动调整手工添加列
dersWidth12//行标题宽度固定12
dersWidthSizeModeDataGridViewRow
eResizing//不能用鼠标调整列标
头宽度
lorColo
hiffon//奇数行背景色
//控件背景色
entData
Center//列标题居中显示
entDataGridViewConten
Center//单元格内容居中显示//行为
nerateColumnsfalse//不自动创建列
serToAddRowsfalse//
lytrue//不启用编辑
serToDeleteRowsfalse//不启用删除
RowSelect//单击单元格选中整行
electfalse//不能多选9.判断有无滚动条
不启用添加
程序代码//垂直滚动条
sHeightDataGridViewElementSta
有else
无//水平滚动条
umnsWidthDataGridViewElem
有else
无10.为什么列标题总不居中
题默认对齐方式设置为居中程序代码
已经将列标
entData
Center//列标题居中显示但
实际的效果总是偏左了一点原因是列可以进行排序排序标志
符号在列标题上占了空间。逐列按下边设置可去掉程序代码
deDataGridViewColumnSortM
table


发布评论