注意:是双击,而不是单击
请问怎么才可以实现呢?我只知道有单击触发事件,我现在需要双击触发事件
请高手指教一下 小弟万分感谢
13 个解决方案
#1
http://blog.csdn.net/ChengKing/archive/2006/01/03/568966.aspx
#2
ChengKing(Enthusiasm Bigrosoft)
非常感谢你 给的指点
但是问题依然没有解决
我要的是双击事件啊
非常感谢你 给的指点
但是问题依然没有解决
我要的是双击事件啊
#3
先選中dataGrid1,再點屬性那里的那個閃電那個標志,見到DoubleClick,點點它啦!!^_^
#4
winform还是webform阿
#5
webform就是这样子
public void datagrid1_ItemDataBound(Object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.SelectedItem))
{
e.Item.Attributes.Add("ondblclick", "javascript: alert("Double click");");
}
}
public void datagrid1_ItemDataBound(Object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.SelectedItem))
{
e.Item.Attributes.Add("ondblclick", "javascript: alert("Double click");");
}
}
#6
這個問題實際很簡單,以前問過,隻要注意到一點,當第一次click時點擊算的是單擊datagrid,第二次click時已經進入到datagridtext,所以還是單擊,弄清這個就簡單了。
#7
是winform程序
高手能指点一下迷津吗?
高手能指点一下迷津吗?
#8
DataGrid拥有双击事件,而且可以在双击事件处理程序里面获取双击的是哪一个单元格,lz不用强求单元格的双击事件
#9
楼上正解
#10
to:yohn_jack(阿布)
我感觉想你说的那样做不出来,如果可以请给出事例好么?
我是在定义表格样式时,加载MouseDown 事件来获取双击时间实现的!
例:
private DateTime gridMouseDownTime;//记录事件,确定鼠标是双击表格还是选中一个单元
private void Form_load(object sender,EventArgs e)
{
......
DGrid1.DataSource=newTable;
DataGridTableStyle ts=new DataGridTableStyle();
DataGridTextBoxColumn aTextColumn=new DataGridTextBoxColumn();
aTextColumn.TextBox.MouseDown+=new MouseEventHandler(TextBoxMouseDownHandle);
.......
}
private void TextBoxMouseDownHandle(object sender,MouseEventArgs e)
{
if(e.Button==MouseButtons.Left && e.Click==2 ||
DateTime.Now<gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))
{
//你要触发的事件
}
}
我感觉想你说的那样做不出来,如果可以请给出事例好么?
我是在定义表格样式时,加载MouseDown 事件来获取双击时间实现的!
例:
private DateTime gridMouseDownTime;//记录事件,确定鼠标是双击表格还是选中一个单元
private void Form_load(object sender,EventArgs e)
{
......
DGrid1.DataSource=newTable;
DataGridTableStyle ts=new DataGridTableStyle();
DataGridTextBoxColumn aTextColumn=new DataGridTextBoxColumn();
aTextColumn.TextBox.MouseDown+=new MouseEventHandler(TextBoxMouseDownHandle);
.......
}
private void TextBoxMouseDownHandle(object sender,MouseEventArgs e)
{
if(e.Button==MouseButtons.Left && e.Click==2 ||
DateTime.Now<gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))
{
//你要触发的事件
}
}
#11
.net 自带的datagrid控件功能太弱,有一点需求就要求对该控件写很多代码,建议使用第三方控件:如ComponentOne,Janus,Infragistics他们的表格控件都很强大.可以把精力多放在系统框架和业务逻辑上.
#12
yohn_jack(阿布) 一句话惊醒梦中,不好意思 其实都怪我不爱动脑袋哈,逻辑出现问题了
当我把我要触发的事情,放在datagrid Double click 得到我想要的东西
peak_weng(山峰) 或许你的可以实现,我暂时没去做,我看了一下 觉得你提供的方案也很好,
同时也想我学到了很多东西 谢谢 你给出完整的代码
当我把我要触发的事情,放在datagrid Double click 得到我想要的东西
peak_weng(山峰) 或许你的可以实现,我暂时没去做,我看了一下 觉得你提供的方案也很好,
同时也想我学到了很多东西 谢谢 你给出完整的代码
#13
虽然datagrid Double click 实现我的要求 但是感觉有漏洞哈
排序的时候,如果点快了 形成双击
就会执行双击事件,不知道那位高手 有别的见解
排序的时候,如果点快了 形成双击
就会执行双击事件,不知道那位高手 有别的见解
#1
http://blog.csdn.net/ChengKing/archive/2006/01/03/568966.aspx
#2
ChengKing(Enthusiasm Bigrosoft)
非常感谢你 给的指点
但是问题依然没有解决
我要的是双击事件啊
非常感谢你 给的指点
但是问题依然没有解决
我要的是双击事件啊
#3
先選中dataGrid1,再點屬性那里的那個閃電那個標志,見到DoubleClick,點點它啦!!^_^
#4
winform还是webform阿
#5
webform就是这样子
public void datagrid1_ItemDataBound(Object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.SelectedItem))
{
e.Item.Attributes.Add("ondblclick", "javascript: alert("Double click");");
}
}
public void datagrid1_ItemDataBound(Object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem) || (e.Item.ItemType == ListItemType.SelectedItem))
{
e.Item.Attributes.Add("ondblclick", "javascript: alert("Double click");");
}
}
#6
這個問題實際很簡單,以前問過,隻要注意到一點,當第一次click時點擊算的是單擊datagrid,第二次click時已經進入到datagridtext,所以還是單擊,弄清這個就簡單了。
#7
是winform程序
高手能指点一下迷津吗?
高手能指点一下迷津吗?
#8
DataGrid拥有双击事件,而且可以在双击事件处理程序里面获取双击的是哪一个单元格,lz不用强求单元格的双击事件
#9
楼上正解
#10
to:yohn_jack(阿布)
我感觉想你说的那样做不出来,如果可以请给出事例好么?
我是在定义表格样式时,加载MouseDown 事件来获取双击时间实现的!
例:
private DateTime gridMouseDownTime;//记录事件,确定鼠标是双击表格还是选中一个单元
private void Form_load(object sender,EventArgs e)
{
......
DGrid1.DataSource=newTable;
DataGridTableStyle ts=new DataGridTableStyle();
DataGridTextBoxColumn aTextColumn=new DataGridTextBoxColumn();
aTextColumn.TextBox.MouseDown+=new MouseEventHandler(TextBoxMouseDownHandle);
.......
}
private void TextBoxMouseDownHandle(object sender,MouseEventArgs e)
{
if(e.Button==MouseButtons.Left && e.Click==2 ||
DateTime.Now<gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))
{
//你要触发的事件
}
}
我感觉想你说的那样做不出来,如果可以请给出事例好么?
我是在定义表格样式时,加载MouseDown 事件来获取双击时间实现的!
例:
private DateTime gridMouseDownTime;//记录事件,确定鼠标是双击表格还是选中一个单元
private void Form_load(object sender,EventArgs e)
{
......
DGrid1.DataSource=newTable;
DataGridTableStyle ts=new DataGridTableStyle();
DataGridTextBoxColumn aTextColumn=new DataGridTextBoxColumn();
aTextColumn.TextBox.MouseDown+=new MouseEventHandler(TextBoxMouseDownHandle);
.......
}
private void TextBoxMouseDownHandle(object sender,MouseEventArgs e)
{
if(e.Button==MouseButtons.Left && e.Click==2 ||
DateTime.Now<gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime))
{
//你要触发的事件
}
}
#11
.net 自带的datagrid控件功能太弱,有一点需求就要求对该控件写很多代码,建议使用第三方控件:如ComponentOne,Janus,Infragistics他们的表格控件都很强大.可以把精力多放在系统框架和业务逻辑上.
#12
yohn_jack(阿布) 一句话惊醒梦中,不好意思 其实都怪我不爱动脑袋哈,逻辑出现问题了
当我把我要触发的事情,放在datagrid Double click 得到我想要的东西
peak_weng(山峰) 或许你的可以实现,我暂时没去做,我看了一下 觉得你提供的方案也很好,
同时也想我学到了很多东西 谢谢 你给出完整的代码
当我把我要触发的事情,放在datagrid Double click 得到我想要的东西
peak_weng(山峰) 或许你的可以实现,我暂时没去做,我看了一下 觉得你提供的方案也很好,
同时也想我学到了很多东西 谢谢 你给出完整的代码
#13
虽然datagrid Double click 实现我的要求 但是感觉有漏洞哈
排序的时候,如果点快了 形成双击
就会执行双击事件,不知道那位高手 有别的见解
排序的时候,如果点快了 形成双击
就会执行双击事件,不知道那位高手 有别的见解