5 Answers, 1 is accepted
0
Hello Roy,
Thank you for contacting us.
You can disable the docking option in RadDock by canceling the corresponding transaction. You can subscribe to the TransactionCommitting event of the RadDock:
Then in the event handler you can cancel the DragDrop and Float transaction types:
I hope this information is helpful.
Regards,
George
Telerik
Thank you for contacting us.
You can disable the docking option in RadDock by canceling the corresponding transaction. You can subscribe to the TransactionCommitting event of the RadDock:
this.radDock.TransactionCommitting += radDock_TransactionCommitting;Then in the event handler you can cancel the DragDrop and Float transaction types:
void radDock_TransactionCommitting(object sender, RadDockTransactionCancelEventArgs e){ if (e.Transaction.TransactionType == DockTransactionType.DragDrop || e.Transaction.TransactionType == DockTransactionType.Float) { e.Cancel = true; }}I hope this information is helpful.
Regards,
George
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WINFORMS.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Roy
Top achievements
Rank 1
answered on 02 Oct 2013, 06:19 PM
Thanks,
its working great, but i was wondering if there any option to disable even the arrows of dock when you're trying to drag the tab.
( exactly as in image )
Best regards,
Roy
its working great, but i was wondering if there any option to disable even the arrows of dock when you're trying to drag the tab.
( exactly as in image )
Best regards,
Roy
0
Accepted
Hi Roy,
Thank you for writing back.
In this case you would have to create a custom DragDropService. Below you can find the implementation of the class:
The service can be registered as follows:
Let me know if I can be of further assistance.
Regards,
George
Telerik
Thank you for writing back.
In this case you would have to create a custom DragDropService. Below you can find the implementation of the class:
public class MyDragDropService : DragDropService{ public bool ShouldShowGuides { get; set; } protected override void Drag(Point mousePos) { if (this.ShouldShowGuides) { base.Drag(mousePos); } else { this.DragWithoutDockHint(mousePos); this.GetMethod("HideGuides").Invoke(this, null); } } protected virtual void DragWithoutDockHint(Point mousePos) { if (this.DragDropBehavior == DragDropBehavior.Auto && NativeMethods.GetCapture() == null) { this.Stop(false); return; } FieldInfo currMouse = this.GetField("currMouse"); currMouse.SetValue(this, mousePos); FieldInfo prevMouse = this.GetField("prevMouse"); if (this.DragDropBehavior == DragDropBehavior.Auto && ((Point)currMouse.GetValue(this)) == ((Point)prevMouse.GetValue(this))) { return; } prevMouse.SetValue(this, currMouse.GetValue(this)); FieldInfo draggedWindow = this.GetField("draggedWindow"); if (draggedWindow.GetValue(this) != null) { ((FloatingWindow)draggedWindow.GetValue(this)).BringToFront(); } FieldInfo dropAnchor = this.GetField("dropAnchor"); SplitPanel dropTarget = this.GetDropTarget(); dropAnchor.SetValue(this, dropTarget); FieldInfo dragContext = this.GetField("dragContext"); if (((DragDropContext)dragContext.GetValue(this)) == DragDropContext.DocumentWindow) { this.GetMethod("UpdateDocumentCursor").Invoke(this, null); } FieldInfo guideHitTest = this.GetField("guideHitTest"); //we are not above a docking guide, move the dragged object if (((DockingGuideHitTest)guideHitTest.GetValue(this)) == DockingGuideHitTest.Empty) { this.GetMethod("MoveDraggedObject").Invoke(this, null); } //raise the Dragging event and check whether we may continue the operation. CancelEventArgs args = new CancelEventArgs(); this.OnDragging(args); if (args.Cancel) { this.Stop(false); } } private FieldInfo GetField(string field) { return this.GetType().BaseType.GetField(field, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); } private MethodInfo GetMethod(string method) { return this.GetType().BaseType.GetMethod(method, BindingFlags.Instance | BindingFlags.NonPublic); }}The service can be registered as follows:
this.radDock.RegisterService(1, new MyDragDropService());Let me know if I can be of further assistance.
Regards,
George
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WINFORMS.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
0
Roy
Top achievements
Rank 1
answered on 07 Oct 2013, 10:59 AM
Thank you! its works like a magic.
0
Hi Roy,
I am writing you again to let you know that we consider this as a reasonable feature request. That is why I created a new item in our Public Issue Tracking System. You can find it at http://www.telerik.com/support/pits.aspx#/public/winforms/15890.
I have also updated your Telerik Points for the contribution.
Regards,
George
Telerik
I am writing you again to let you know that we consider this as a reasonable feature request. That is why I created a new item in our Public Issue Tracking System. You can find it at http://www.telerik.com/support/pits.aspx#/public/winforms/15890.
I have also updated your Telerik Points for the contribution.
Regards,
George
Telerik
TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WINFORMS.
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>
Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
Sign up for Free application insights >>