void newt_DragEnter(object sender, DragEventArgs e) {
e.Handled = true;
this._CurrentlySelectedItem = tcMain.SelectedItem as Wpf.Controls.TabItem;
var tabItem = e.Source as Wpf.Controls.TabItem;
if (tabItem == null) return;
this._TabDropData = (System.Runtime.InteropServices.ComTypes.IDataObject)e.Data;
if ((sender as Wpf.Controls.TabItem).ShellObject.IsFileSystem)
e.Effects = (e.KeyStates & DragDropKeyStates.ControlKey) == DragDropKeyStates.ControlKey ? DragDropEffects.Copy : DragDropEffects.Move;
else
e.Effects = DragDropEffects.None;
var ptw = new BExplorer.Shell.DataObject.Win32Point();
GetCursorPos(ref ptw);
e.Effects = DragDropEffects.None;
var tabItemSource = e.Data.GetData(typeof(Wpf.Controls.TabItem)) as Wpf.Controls.TabItem;
if (tabItemSource == null) {
var wpt = new BExplorer.Shell.DataObject.Win32Point() { X = ptw.X, Y = ptw.Y };
DropTarget.Create.DragEnter(this.Handle, (System.Runtime.InteropServices.ComTypes.IDataObject)e.Data, ref wpt, (int)e.Effects);
} else if (e.Data.GetDataPresent(typeof(Wpf.Controls.TabItem))) {
e.Effects = DragDropEffects.Move;
}
}