DataGridView右键菜单设置.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:8 大小:55KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

DataGridView右键菜单设置.doc

DataGridView右键菜单设置.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://www.cnblogs.com/liye/archive/2010/09/29/1838709.html"C#DataGridView添加右键菜单等技巧--转1).右键点击行时选中行,并弹出操作菜单1).添加一个快捷菜单contextMenuStrip1;2).给dataGridView1的CellMouseDown事件添加处理程序:复制内容到剪贴板程序代码privatevoidDataGridView1_CellMouseDown(objectsender,DataGridViewCellMouseEventArgse){if(e.Button==MouseButtons.Right){if(e.RowIndex>=0){//若行已是选中状态就不再进行设置if(dataGridView1.Rows[e.RowIndex].Selected==false){dataGridView1.ClearSelection();dataGridView1.Rows[e.RowIndex].Selected=true;}//只选中一行时设置活动单元格if(dataGridView1.SelectedRows.Count==1){dataGridView1.CurrentCell=dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];}//弹出操作菜单contextMenuStrip1.Show(MousePosition.X,MousePosition.Y);}}}效果图:2).复制选中单元格的内容到剪贴板复制内容到剪贴板程序代码Clipboard.SetDataObject(dataGridView1.GetClipboardContent());3).只显示自定义列复制内容到剪贴板程序代码dataGridView1.AutoGenerateColumns=false;//必须在代码中设置4).显示图片通常,我们将图片路径保存在数据库中,但在dataGridView1中要显示图片,可以进行如下操作:①.添加一个DataGridViewTextBoxColumn类型的列,Name=Path,DataPropertyName=Pic,Visible=False;②.添加一个DataGridViewImageColumn类型的列,Name=Pic;③.dataGridView1控件DataBindingComplete事件处理程序如下:复制内容到剪贴板程序代码privatevoidDataGridView1_DataBindingComplete(objectsender,DataGridViewBindingCompleteEventArgse){Imageimage1=null;Imageimage2=null;stringpath=string.Empty;for(inti=0;i<dataGridView1.Rows.Count;i++){path=@"F:\"+dataGridView1.Rows[i].Cells["Path"].Value;if(File.Exists(path)){image1=Image.FromFile(path);image2=newBitmap(image1,120,120);//重设大小dataGridView1.Rows[i].Cells["Pic"].Value=image2;//((DataGridViewImageCell)dataGridView1.Rows[i].Cells["Pic"]).Value=image2;}}}5).当网格未填充满控件时,画线来填充空白区域复制内容到剪贴板程序代码///<summary>///绘制网格填充空白区域///</summary>///<paramname="sender"></param>///<paramname="e"></param>publicvoidCellPainting(objectsender,DataGridViewCellPaintingEventArgse){DataGridViewmyDataGridView=(DataGridView)sender;if(myDataGridView.Rows.Count>0){inti=myDataGridView.ColumnHeadersHeight;//标题行高intj=myDataGridView.Rows.GetRowsHeight(DataGridViewElementStates.Visible);//所有可见行总高intk=myDataGridView.He