Winform DatagridView 自由实现多选,-----右键弹出框解决方式
2011-07-11 14:22
387 查看
不需要按辅助键(shift),随意选择
条件,C# winform,Datagridview 控件(MultiSelect 为true),contextMenuStrip控件(包含两个item,选中,取消)
在Datagridview 的 以下事件中 加入
private void dataGridView2_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right && this.dataGridView2.SelectedRows.Count > 1)
{
this.contextMenuStrip.Show(MousePosition.X, MousePosition.Y);
this.dataGridView2.ContextMenuStrip = this.contextMenuStrip;
}
else
{
this.dataGridView2.ContextMenuStrip = null;
return;
}
}
以下是 contextMenuStrip控件(包含两个item,选中,取消) 控件的 选中和 取消 事件
private void 选中ToolStripMenuItem1_Click(object sender, EventArgs e)
{
try
{
if (this.dataGridView2.SelectedRows.Count < 0)
{
return;
}
else
{
foreach (DataGridViewRow dgr in this.dataGridView2.SelectedRows)
{
dgr.Cells["checkbox"].Value = 1;
}
}
}
catch
{
}
}
private void 取消ToolStripMenuItem1_Click(object sender, EventArgs e)
{
try
{
if (this.dataGridView2.SelectedRows.Count < 0)
{
return;
}
else
{
foreach (DataGridViewRow dgr in this.dataGridView2.SelectedRows)
{
dgr.Cells["checkbox"].Value = 0;
}
}
}
catch
{
}
}
希望有帮助
条件,C# winform,Datagridview 控件(MultiSelect 为true),contextMenuStrip控件(包含两个item,选中,取消)
在Datagridview 的 以下事件中 加入
private void dataGridView2_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.Button == MouseButtons.Right && this.dataGridView2.SelectedRows.Count > 1)
{
this.contextMenuStrip.Show(MousePosition.X, MousePosition.Y);
this.dataGridView2.ContextMenuStrip = this.contextMenuStrip;
}
else
{
this.dataGridView2.ContextMenuStrip = null;
return;
}
}
以下是 contextMenuStrip控件(包含两个item,选中,取消) 控件的 选中和 取消 事件
private void 选中ToolStripMenuItem1_Click(object sender, EventArgs e)
{
try
{
if (this.dataGridView2.SelectedRows.Count < 0)
{
return;
}
else
{
foreach (DataGridViewRow dgr in this.dataGridView2.SelectedRows)
{
dgr.Cells["checkbox"].Value = 1;
}
}
}
catch
{
}
}
private void 取消ToolStripMenuItem1_Click(object sender, EventArgs e)
{
try
{
if (this.dataGridView2.SelectedRows.Count < 0)
{
return;
}
else
{
foreach (DataGridViewRow dgr in this.dataGridView2.SelectedRows)
{
dgr.Cells["checkbox"].Value = 0;
}
}
}
catch
{
}
}
希望有帮助
相关文章推荐
- 1、DataGridView中实现右键单击后选中所在行及弹出上下文菜单
- Winform实现在Datagridview列首右键弹出隐藏列菜单
- C# winform datagridview中如何实现鼠标右键点击一行数据出现一个带有删除的菜单,并能执行删除操作?
- 1、DataGridView中实现右键单击后选中所在行及弹出上下文菜单
- 有关winform中弹出模态窗体,会在状态栏出现的变相解决方式
- 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题
- c#在winform中用DataGridView实现分页效果
- @Autowired 详解-三种实现方式,多种歧义性解决方法
- 在Winform中向DataGridView控件添加数据的三种方式
- 网页方式实现MSN的弹出窗口
- 解决Android在listview添加checkbox实现单选多选操作问题
- 【多级树形菜单-dialog自定义动画弹出方式-手势监听】android实现treeView
- [WinForm]Datagridview 实现二维表头
- WIN7 英文版右键不显示快捷方式的解决办法
- 九种方式实现 javascripts 弹出对话框窗口代码
- 动态加载布局和控件的方式实现动态加载(用listView解决EditText问题挺麻烦)
- android 对话框方式弹出实现
- DevExpress15.1 设计winform程序运行后界面不弹出未注册界面的解决办法
- 定时领取红包的实现解决方式
- 点击事件中实现弹出一个选择框(如选择网络设置、选择电话短信联系方式)