datagridview重写美化的问题
本人初学者,第一次发帖,现在遇到一个问题,我想自己定义datagridview组件,继承自 System.Windows.Forms.DataGridView
该类能实现,增加一个右键点击菜单,右键点击弹出相应菜单,我在 DDataGridView里面通过工具箱拖入增加一个contextmenustrip,在类里面写相应的mouseClick事件,调试发现未执行该段代码,退而求其次在Form窗体里面写事件发现名未ContextMenuStrip1的控件不能引用,而使用this.dDataGridView1.ContextMenuStrip.Show(MousePosition.X, MousePosition.Y); 这样的代码
弹出提示System.NullReferenceException:“未将对象引用设置到对象的实例。”
代码如下
private void dDataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right && e.ColumnIndex > -1 && e.RowIndex > -1) //点击的是
{
//DataGridView dv = sender as DataGridView;
this.dDataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;
this.dDataGridView1.ContextMenuStrip.Show(MousePosition.X, MousePosition.Y); }
}
类文件头;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace npoi23
{
public partial class DDataGridView : System.Windows.Forms.DataGridView
{
/// <summary>
/// 重绘Column、Row
/// </summary>
/// <param name="e"></param>
///
private Color ts = Color.Peru;
private ContextMenuStrip _conTextMenuStrinp;
................
.............
........