c# datagridview添加右键菜单等技巧

上传人:第*** 文档编号:31771439 上传时间:2018-02-09 格式:DOCX 页数:6 大小:25.75KB
返回 下载 相关 举报
c# datagridview添加右键菜单等技巧_第1页
第1页 / 共6页
c# datagridview添加右键菜单等技巧_第2页
第2页 / 共6页
c# datagridview添加右键菜单等技巧_第3页
第3页 / 共6页
c# datagridview添加右键菜单等技巧_第4页
第4页 / 共6页
c# datagridview添加右键菜单等技巧_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《c# datagridview添加右键菜单等技巧》由会员分享,可在线阅读,更多相关《c# datagridview添加右键菜单等技巧(6页珍藏版)》请在金锄头文库上搜索。

1、1).右键点击行时选中行,并弹出操作菜单1). 添加一个快捷菜单 contextMenuStrip1;2). 给 dataGridView1 的 CellMouseDown 事件添加处理程序:复制内容到剪贴板 程序代码private void DataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)if (e.Button = MouseButtons.Right)if (e.RowIndex = 0)/若行已是选中状态就不再进行设置if (dataGridView1.Rowse.RowIndex.

2、Selected = false)dataGridView1.ClearSelection();dataGridView1.Rowse.RowIndex.Selected = true;/只选中一行时设置活动单元格if (dataGridView1.SelectedRows.Count = 1)dataGridView1.CurrentCell = dataGridView1.Rowse.RowIndex.Cellse.ColumnIndex;/弹出操作菜单contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);效果图:2).复制选中单

3、元格的内容到剪贴板复制内容到剪贴板 程序代码Clipboard.SetDataObject(dataGridView1.GetClipboardContent();3).只显示自定义列复制内容到剪贴板 程序代码dataGridView1.AutoGenerateColumns = false;/必须在代码中设置4).显示图片通常,我们将图片路径保存在数据库中,但在 dataGridView1 中要显示图片,可以进行如下操作:.添加一个 DataGridViewTextBoxColumn 类型的列,Name=Path,DataPropertyName=Pic,Visible=False;.添加一

4、个 DataGridViewImageColumn 类型的列,Name=Pic;.dataGridView1 控件 DataBindingComplete 事件处理程序如下:复制内容到剪贴板 程序代码private void DataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)Image image1 = null;Image image2 = null;string path = string.Empty;for (int i = 0; i / 绘制网格填充空白区域/

5、/ / public void CellPainting(object sender, DataGridViewCellPaintingEventArgs e)DataGridView myDataGridView = (DataGridView)sender;if (myDataGridView.Rows.Count 0)int i = myDataGridView.ColumnHeadersHeight;/标题行高int j = myDataGridView.Rows.GetRowsHeight(DataGridViewElementStates.Visible); /所有可见行总高int

6、 k = myDataGridView.Height; /控件高度int l = myDataGridView.Rows.GetLastRow(DataGridViewElementStates.Visible);/最后一行索引int count = myDataGridView.Columns.Count;/列总数int width = 0;/当网格未充满控件时才画线if (i + j dataGridView1.Height)MessageBox.Show(有);elseMessageBox.Show(无);/水平滚动条if(dataGridView1.Columns.GetColumns

7、Width(DataGridViewElementStates.None) dataGridView1.Width)MessageBox.Show(有);elseMessageBox.Show(无);10).为什么列标题总不居中?已经将列标题默认对齐方式设置为居中:复制内容到剪贴板 程序代码dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;/列标题居中显示但实际的效果总是偏左了一点,原因是列可以进行排序,排序标志符号在列标题上占了空间。逐列按下边设置可去掉:复制内容到剪贴板 程序代码dataGridView1.Columnsi.SortMode = DataGridViewColumnSortMode.NotSortable;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号