0
RADGrid를 사용하는 프로젝트를 상속 받았습니다. 그것은 더블 클릭과 싱글 클릭이 가능한 이벤트를 모두 가지고 있습니다. Telerik WinForms : 한 번의 클릭으로 두 번 클릭하지 않음
그러나 더블 클릭이 발사 될 때, 그래서 클릭하고 CellBeginEdit있다 ... 나는 더블이 발사 될 때 클릭 CellBeginEdit 또는 다른 사람을 취소 할 .RADGrid를 사용하는 프로젝트를 상속 받았습니다. 그것은 더블 클릭과 싱글 클릭이 가능한 이벤트를 모두 가지고 있습니다. Telerik WinForms : 한 번의 클릭으로 두 번 클릭하지 않음
그러나 더블 클릭이 발사 될 때, 그래서 클릭하고 CellBeginEdit있다 ... 나는 더블이 발사 될 때 클릭 CellBeginEdit 또는 다른 사람을 취소 할 .내 프로젝트에서 격자 컨트롤로 사용하는 Telerik.WinControls.UI.RadGridView의 Inherited 클래스 시트가 있습니다.
문제를 해결하기 위해 필요한 사항이 이력서 :
public partial class Sheet : Telerik.WinControls.UI.RadGridView
{
//System Time to wait between Click and DoubleClick
private int _doubleClickTime = 500;
private bool _doubleClickRaised = false;
private bool _doubleClickCancelEdit = false;
public void FpSpread()
{
_doubleClickTime = System.Windows.Forms.SystemInformation.DoubleClickTime;
//...
}
protected override void OnMouseDoubleClick(MouseEventArgs e)
{
_doubleClickRaised = true;
_doubleClickCancelEdit = true;
base.OnMouseDoubleClick(e);
}
protected override void OnMouseClick(MouseEventArgs e)
{
//Doing what Telerik doesn't
//Wait system time needed for DoubleClick
System.Threading.Thread.Sleep(_doubleClickTime + 10);
Application.DoEvents();
if (_doubleClickRaised)
{
_doubleClickRaised = false;
return;
}
base.OnMouseClick(e);
}
//This only when editable cells...
protected override void OnCellBeginEdit(object sender, GridViewCellCancelEventArgs e)
{
if (_doubleClickCancelEdit)
{
_doubleClickCancelEdit = false;
e.Cancel = true;
}
base.OnCellBeginEdit(sender, e);
}
}
내가이 도움이 희망을!