DataGridView添加右键菜单等技巧_第1页
DataGridView添加右键菜单等技巧_第2页
DataGridView添加右键菜单等技巧_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DataGridView添加右键菜单等技巧DataGridView添加右键菜单等技巧2010-12-16 2256 .右键点击行时选中行并弹出操作菜 单 1.添加一个快捷菜单 contextMenuStripl 2.给 dataGridViewl 的CellMouseDown事件添加处理程序程序代码private void DataGridView1_CellMouseDownobject senderDataGridViewCellMouseEventArgs e ife.ButtonMouseButtons.Right ife.Rowlndex0 / 若行已是选中状 态就不再进行设置 if

2、dataGridView1.Rowse.Rowlndex.Selectedfalse dataGridView1.ClearSelection dataGridView1.Rowse.Rowlndex.Selectedtrue / 只选中一行时设 置活动单元格 ifdataGridView1.SelectedRows.Count1 dataGridView1.CurrentCelldataGridView1.Rowse.Rowlndex.Cel lse.ColumnIndex /弹出操作菜单 contextMenuStrip1.ShowMousePosition.XMousePosition.

3、Y 效 果图2.复制选中单元格的内容到剪贴板程序代码Clipboard.SetDataObjectdataGridView1.GetClipboardContent 3. 只显示自定义列程序代码 dataGridView1.AutoGenerateColumnsfalse 必须在代码中设置 4.显示图片 通常我们将图片路径保存在数据库中但在 dataGridView1中要显示图片可以进行如下操作.添加一个DataGridViewTextBoxColumn 类型的列NamePathDataPropertyNamePicVisibleFalse .添加一个 DataGridViewImageCol

4、umn 类型的列 NamePic .dataGridView1 控件 DataBindingComplete 事件处理程序如 下 程序代码 private voidDataGridView1_DataBindingCompleteobject senderDataGridViewBindingCompleteEventArgs e Image image1null Image image2null string pathstring.Empty forint i0i dataGridView1.Rows.Counti pathFdataGridView1.Rowsi.CellsPath.Val

5、ue ifFile.Existspath image1Image.FromFilepath image2new Bitmapimage1120120/ 重设大小 dataGridView1.Rowsi.CellsPic.Valueimage2 /DataGridViewImageCelldataGridView1.Rowsi.CellsPic.Valuei mage2 5.当网格未填充满控件时画线来填充空白区域程序代码 /summary / 绘制网格填充空白区域 /summary /param namesender/param /param namee/param public void Ce

6、llPaintingobject senderDataGridViewCellPaintingEventArgs e DataGridView myDataGridViewDataGridViewsender ifmyDataGridView.Rows.Count 0 int imyDataGridView.ColumnHeadersHeight/ 标题行高 int jmyDataGridView.Rows.GetRowsHeightDataGridViewElementS tates.Visible/ 所有可见行总高 int kmyDataGridView.Height/ 控 件高度 int

7、lmyDataGridView.Rows.GetLastRowDataGridViewElementState s.Visible/ 最后一行索引 int countmyDataGridView.Columns.Count/ 列总数 int width0 / 当 网格未充满控件时才画线 ifij k usingBrush gridBrushnew SolidBrushmyDataGridView.GridColor usingPen gridLinePennew PengridBrush / 处理标题列 ifmyDataGridView.RowHeadersVisible widthmyDat

8、aGridView.RowHeadersWidth e.Graphics.DrawLinegridLinePenwidthijwidthk else width1 / 处 理正常列 forint index0index countindex ifmyDataGridView.Columnsindex.Visible widthmyDataGridView.Columnsindex.Width e.Graphics.DrawLinegridLinePenwidthijwidthk 6. 自定义列宽 手动添加列再在编辑列界面中逐个设置宽度。注意 AutoSizeColumnsMode 的值必须为

9、DataGridViewAutoSizeColumnsMode.None 否则自定义宽度不 能生效 7.单元格内容格式化 程序代码 private void dataGridView1_CellFormattingobject senderDataGridViewCellFormattingEventArgs e DataGridView myDataGridViewDataGridViewsender ifmyDataGridView.ColumnsID.Indexe.ColumnIndex ife.Valuenullstring.IsNullOrEmptye.Value.ToStringe

10、.ValueBHstring.Format0D8int.Parsee.Value.ToString 8. 打造一 个漂亮的 DataGridView 程序代码 / 样式 dataGridView1.AutoSizeColumnsModeDataGridViewAutoSizeC olumnsMode.None/ 列宽不自动调整手工添加列 dataGridView1.RowHeadersWidth12/ 行标题宽度固定 12 dataGridView1.RowHeadersWidthSizeModeDataGridViewRow HeadersWidthSizeMode.DisableResiz

11、ing/ 不能用鼠标调整列标 头宽度 dataGridView1.AlternatingRowsDefaultCellStyle.BackColorColo r.LemonChiffon/ 奇数行背景色 dataGridView1.BackgroundColorColor.White/ 控件背景色 dataGridView1.ColumnHeadersDefaultCellStyle.AlignmentData GridViewContentAlignment.MiddleCenter/ 列标题居中显示 dataGridView1.DefaultCellStyle.AlignmentDataG

12、ridViewConten tAlignment.MiddleCenter/ 单元格内容居中显示 / 行为 dataGridView1.AutoGenerateColumnsfalse/ 不自动创建列 dataGridView1.AllowUserToAddRowsfalse/ 不启用添加 dataGridView1.ReadOnlytrue/ 不启用编辑 dataGridView1.AllowUserToDeleteRowsfalse/ 不启用删除 dataGridView1.SelectionModeDataGridViewSelectionMode.Full RowSelect/单击单元

13、格选中整行 dataGridView1.MultiSelectfalse/ 不能多选 9.判断有无滚动条 程序代码 /垂直滚动条 ifdataGridView1.Rows.GetRowsHeightDataGridViewElementSta tes.NonedataGridView1.Height MessageBox.Show 有 else MessageBox.Show 无 / 水平滚动条 ifdataGridView1.Columns.GetColumnsWidthDataGridViewElem entStates.NonedataGridView1.Width MessageBox.Show 有 else MessageBox.Show 无 10.为什么列标题总不居中 已经将列标 题默认对齐方式设置为居中 程序代码 dataGridView1.ColumnHe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论