datagridview与contextmenustrip完美结合应用

简介: 上图是最佳datagridview与contextmenustrip合用效果,方法是: 而当两个以上的datagridview共同使用一个ContextMenuStrip时,【打开】【关闭】处理事件识别SourceControl的方...

image

上图是最佳datagridview与contextmenustrip合用效果,方法是:

image

而当两个以上的datagridview共同使用一个ContextMenuStrip时,【打开】【关闭】处理事件识别SourceControl的方法:


  1. private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
  2. {
  3.   ContextMenuStrip cmStrip = (ContextMenuStrip)((ToolStripMenuItem)sender).Owner;
  4.   string ctrlSrcName = cmStrip.SourceControl.Name;
  5.   if (ctrlSrcName.Equals("dataGridView3"))
  6.   {}
  7.   else if (ctrlSrcName.Equals("dataGridView4"))
  8.   {}
  9. }


附动态右键生成contextMenuStrip的方法:


  1. private void dataGridView4_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
  2. {
  3.     if (e.Button == System.Windows.Forms.MouseButtons.Right)
  4.     {
  5.         if (e.RowIndex >= 0)
  6.         {
  7.             dataGridView4.ClearSelection();
  8.             dataGridView4.Rows[e.RowIndex].Selected = true;
  9.             dataGridView4.CurrentCell = dataGridView4.Rows[e.RowIndex].Cells[e.ColumnIndex];
  10.             this.contextMenuStrip1.Tag = "dataGridView4";
  11.             this.contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
  12.         }
  13.     }
  14. }


相关文章
|
图形学
DataGridView添加CheckBoxColumnHeader(1)
DataGridView中没有中有checkboxcolumn,但是该column不是checkbox的列头,这让人很郁闷,关于这个问题有3种解决方法,这里介绍一种比较暴力的方法,手画checkboxcolumnheader.
795 0
DataGridView添加CheckBoxColumnHeader(3)
这是一个很恶心的方法,从工具栏上拖一个checkbox控件出来,放在checkboxcolumn的列头,看起来就像datagridview的一部分一样,当然,位置得琢磨准,然后把checkboxcolumns的宽度固定,前面的列和它都无法拉动它的宽度,不然一拉就露陷了。
819 0
DataGridView - DataGridViewCheckBoxCell的使用
Datagridview是.net中最复杂的控件,由于人们对表格的格式要求多种多样,所以编写一个通用的Datagridview(类似JSF中的datatable)非常困难的。 Datagridview中,用户可以对行、列、单元格进行编程。
723 0
|
索引 数据库
DataGridView使用小结
  1).右键点击行时选中行,并弹出操作菜单1). 添加一个快捷菜单contextMenuStrip1;2). 给dataGridView1的CellMouseDown事件添加处理程序: private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)        {            if (e.Button == MouseButtons.Right)            {                //过滤有可能右键点击的行标题和空白列头。
1317 0
DataGridView添加CheckBoxColumnHeader(2)
暴力画上去一个checkbox以后并不一定需要用它自定义的checkbox选中状态改变事件,我们还可以用DataGridView的ColumnHeaderClick事件去做这个效果,这样的编程风格更符合Winform开发的风格。
645 0
|
C#
C#中的DataGridView
关键字:C# DataGridView作者:peterzb来源:http://www.cnblogs.com/peterzb   1.DataGridView实现课程表 testcontrol.
1247 0
|
Windows
DataGridView 中合并单元格
Windows Forms DataGridView 没有提供合并单元格的功能,要实现合并单元格的功能就要在CellPainting事件中使用Graphics.DrawLine和 Graphics.DrawString 自己来“画”。
1056 0
datagridview设置某一列可写
    实践证明,在winform的窗体设计时,将datagridview.readonly=false;     或者在datagridview Edit Columns时设置某一列readonly=false都是没起多大作用的。
837 0
|
9月前
|
存储 缓存 C#
46.c#:datagridview控件
46.c#:datagridview控件
122 1

热门文章

最新文章