解决方案 »
- 高分再开一贴,问题没解决,急救
- 循环中 this.Close() 咋没效果呢?
- 关于2个String[]的算法,请教
- 请问如何使用条码字体打印的条码可以被条码枪识别得到?
- WinForm下如何获取本地Oracle配置的连接字?
- winform里的datagrid为什么没有“属性生成器”?
- 在使用httpwebrequest时,向servlet提交http的post时,中文都变成了乱码.....
- 有关打印的问题
- 关于TreeView确定单击了哪个 TreeView 节点 ,不用treeView1_AfterSelect事件外还有没有其它的办法能够确定?
- 紧急!数据库连接问题的错误!(什么连接池错误)
- 求万年历记事本实现思路
- TabPages内容显示的转换
如果是DataGridView,绑定方法,如果是子容器,把他的ControlAdded事件也加上委托。
(没有试验,凭想象写的,不一定对)
创建一个Form 拖一个DataGridView 写好你需要的5个事件 保存
在你需要 重用DataGridView的时候 直接继承这个Form
{
protected override void OnMouseClick(MouseEventArgs e)
{
base.OnMouseClick(e);
DataGridView.HitTestInfo rows = HitTest(e.X, e.Y);
if (e.Button == MouseButtons.Left)
{
if (rows.RowIndex > -1)
{
ClearSelection();
//GV.DefaultCellStyle.BackColor = Color.BlanchedAlmond;
CurrentRow.Selected = true;
Rows[rows.RowIndex].Selected = true;
}
else
{
}
}
}
}
本人也是写程序中遇到了这个棘手的问题,以前总是类似问题写Usercontrol就能解决,这次碰到问题确实技穷了,如果哪位达人遇到过类似问题,请实测后贴出代码供大家共同学习,以便共同探讨。
{
public Form1()
{
InitializeComponent();
} protected override void OnControlAdded(ControlEventArgs e)
{
base.OnControlAdded(e); if (e.Control is DataGridView)
{
DataGridView grid = e.Control as DataGridView;
grid.MouseClick += this.DataGridView_MouseClick;
}
} protected void DataGridView_MouseClick(object sender, MouseEventArgs e)
{
DataGridView grid = sender as DataGridView;
MessageBox.Show("Test");
}
}