好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#语言实现Winform开发通过DataGridView通过右键菜单实现操作功能

C#语言实现Winform开发通过DataGridView通过右键菜单实现操作功能

       public HdhCmsAllPage()

       {

           CreateDgViewRightMenu();

       }

       public void CreateDgViewRightMenu()

       {

           ContextMenuStrip contextMenu = new ContextMenuStrip();

           #region 单级菜单

           //// 添加菜单项

           ToolStripMenuItem deleteItem = new ToolStripMenuItem("删除行");

           ToolStripMenuItem editItem = new ToolStripMenuItem("编辑行");

           // 绑定事件

           deleteItem.Click +=new EventHandler(DeleteRow_Click);

           editItem.Click += new EventHandler(EditRow_Click);

           contextMenu.Items.Add(deleteItem);

           contextMenu.Items.Add(editItem);

           #endregion

           #region 多级菜单

           //ToolStripMenuItem exportSubMenu = new ToolStripMenuItem("导出为:");

           //exportSubMenu.DropDownItems.Add("删除A", null, DeleteRow_Click);

           //exportSubMenu.DropDownItems.Add("修改B", null, EditRow_Click);

           //contextMenu.Items.Add(exportSubMenu);

           #endregion

           // 关联到 DataGridView

           DataGridView1.ContextMenuStrip = contextMenu;

           // 绑定鼠标事件

           DataGridView1.MouseDown += DataGridView1_MouseDown;

       }

       private void DataGridView1_MouseDown(object sender, MouseEventArgs e)

       {

           if (e.Button == MouseButtons.Right)

           {

               DataGridView.HitTestInfo hitTest = DataGridView1.HitTest(e.X, e.Y);

               if (hitTest.Type == DataGridViewHitTestType.Cell)

               {

                   DataGridView1.ClearSelection();

                   DataGridView1.Rows[hitTest.RowIndex].Selected = true;

               }

               else

               {

                   DataGridView1.ContextMenuStrip = null;

               }

           }

       }

       private void DeleteRow_Click(object sender, EventArgs e)

       {

           if (DataGridView1.SelectedRows.Count > 0)

           {

               DataGridViewRow Dr = DataGridView1.SelectedRows[0];

               string Id = Dr.Cells["id"].Value.ToString();

               MessageBox.Show("要删除的数据为:"+Id);

           }

       }

       private void EditRow_Click(object sender, EventArgs e)

       {

           if (DataGridView1.SelectedRows.Count > 0)

           {

               DataGridViewRow row = DataGridView1.SelectedRows[0];

               string id = row.Cells["Id"].Value?.ToString();

               string name = row.Cells["Name"].Value?.ToString();

               MessageBox.Show($"名称:{name}, 编号:{id}");

           }

           else

           {

               MessageBox.Show(DataGridView1.SelectedRows.Count.ToString());

           }

       }


查看更多关于C#语言实现Winform开发通过DataGridView通过右键菜单实现操作功能的详细内容...

  阅读:21次