protected override void OnItemDrag(ItemDragEventArgs e) { //Begins a drag-and-drop operation in the ListView control. this.DoDragDrop(this.SelectedItems, DragDropEffects.Move); base.OnItemDrag(e); }
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { // gx2. jsx, jsc reflector // ? // http://support.microsoft.com/kb/307968 // we can drag it into scite // DragDrop.DoDragDrop returns only after the complete drag-drop process is finished, // http://w3facility.org/question/dodragdrop-freezes-winforms-app-sometimes/ // https://msdn.microsoft.com/en-us/library/ms649011(VS.85).aspx // http://www.codeproject.com/Articles/17266/Drag-and-Drop-Items-in-a-WPF-ListView Console.WriteLine("treeView1_ItemDrag"); ; // http://stackoverflow.com/questions/1772102/c-sharp-drag-and-drop-from-my-custom-app-to-notepad var x = new DataObject( "treeView1_ItemDrag " + new { e.Item } ); // like props/ reg keys/ version nodes x.SetData("text/nodes/0", "hello"); x.SetData("text/nodes/1", "world"); // https://msdn.microsoft.com/en-us/library/system.windows.forms.control.dodragdrop(v=vs.110).aspx //this.DoDragDrop("treeView1_ItemDrag " + new { e.Item }, DragDropEffects.Copy); treeView1.DoDragDrop(x, DragDropEffects.Copy); // https://code.google.com/p/chromium/issues/detail?id=31037 // https://searchcode.com/codesearch/view/32985148/ }
private void tvFields_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { try { MemoryStream xlsStream = null; try { object o = GetClipboardObj((TreeNode)e.Item, ref xlsStream); if (o != null) { DoDragDrop(o, DragDropEffects.Copy); } } finally { if (xlsStream != null) { xlsStream.Close(); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void tv1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { //Primary (internal) data type ArrayList toDrag = new ArrayList(); CShItem csi = ((TreeNode)e.Item).Tag as CShItem; toDrag.Add(csi); //also need Shell IDList Array System.IO.MemoryStream MS; MS = CProcDataObject.MakeShellIDArray(toDrag); //Fairly universal data type (must be an array) string[] strD = new string[1]; strD[0] = csi.Path; //Build data to drag DataObject dataObj = new DataObject(); dataObj.SetData(toDrag); if (MS != null) { dataObj.SetData("Shell IDList Array", true, MS); } dataObj.SetData("FileDrop", true, strD); //Do drag, allowing Copy and Move DragDropEffects ddeff; ddeff = tv1.DoDragDrop(dataObj, DragDropEffects.Copy | DragDropEffects.Move); //the following line commented out, since we can't depend on ddeff //If ddeff = DragDropEffects.None Then Exit Sub 'nothing happened RefreshNode(FindAncestorNode(csi)); }
//is the drag event a drag using the right mouse button private void TreeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { // ----------------------------------------------------------------- // User has initiated a drag on a node - the full xml of the node // is stored as the data associated with the drag event args. // ----------------------------------------------------------------- //If what is being dragged is not already in the controller as a selected item. if ((Controller.SelectedFactorialPath != GetPathFromNode((TreeNode)e.Item))) { SelectedNode = (TreeNode)e.Item; //add it to the base controller (by setting the selected node of the tree to the dragged item. This then fires the selection changed event for the tree which I think is handled by the base controller. This will add the dragged items to the base controller) } //Work out the xml of what you are dragging. string FullXML = ""; //used to store the xml of ALL the components that have been selected in the drag 'reset it to nothing, ready for recreation. ApsimFile.Component Comp = Controller.ApsimData.Find(Controller.SelectedFactorialPath); //get the component for this particular selected node (using it's path) FullXML = FullXML + Comp.FullXML(); //get the xml for the component and add it to the xml of previous selected nodes PathsBeingDragged = new StringCollection(); PathsBeingDragged.Add(Controller.SelectedFactorialPath); //store the paths of ALL the nodes that are being dragged in a global variable, so it can be used by other drag events. //Raise the other DragDropEvents DoDragDrop(FullXML, DragDropEffects.Copy); //parameters: (Store xml of what you are dragging in "data" Drag Event Argument), (allowable types of left mouse drags [Drag Drop Effects are of type FlagsAttribute, which allow bitwise operators AND and OR]). }
private void lstVwPaginated_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { if (ItemDrag != null) { ItemDrag(sender, e); } }
private void ListViewItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { // -------------------------------------------------------- // User is trying to initiate a drag - allow drag operation // -------------------------------------------------------- VariableListView.DoDragDrop("xx", DragDropEffects.All); }
private void treeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { TreeNode node = (TreeNode)e.Item; if (node == null || node.Tag == null) { return; } // create a data object DataObject data; if (node.Tag is String) { data = new DataObject(DataFormats.Text, node.Tag); } else if (node.Tag is Bitmap) { data = new DataObject(DataFormats.Bitmap, node.Tag); } else if (node.Tag is NMyDataObject) { data = new DataObject("My Custom Format", node.Tag); } else { return; } treeView.DoDragDrop(data, DragDropEffects.Copy); }
private void TreeView1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { if (!(TreeView1.SelectedNode.GetNodeCount(true) > 0)) { TreeView1.DoDragDrop(TreeView1.SelectedNode.Text, DragDropEffects.Copy | DragDropEffects.Move); } }
// On dragging beggin private void camerasTree_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { TreeNode dragNode = (TreeNode)e.Item; // drag it camerasTree.DoDragDrop(dragNode.FullPath, DragDropEffects.Copy); }
/// <summary> /// This method initialises the dragging of a ListViewItem /// </summary> void ItemDrag(object sender, ItemDragEventArgs e) { ReleaseCom(); startButton = e.Button; FileSystemInfo[] items = listView.GetSelected(); List<ShellItem> list = new List<ShellItem>(); foreach (FileSystemInfo f in items) { //IntPtr[] pidls = ShellFolder.GetPIDLs(items); IntPtr pidl = ShellFolder.GetPathPIDL(f); //IShellFolder parentShellFolder = ShellFolder.GetParentShellFolder(items[0]); string parentDirectory = ShellFolder.GetParentDirectoryPath(f); IntPtr parentShellFolder = ShellFolder.GetShellFolderIntPtr(parentDirectory); ShellItem item = new ShellItem(browser, pidl, parentShellFolder); list.Add(item); } dataObjectPtr = ShellHelper.GetIDataObject(list.ToArray()); if (dataObjectPtr != IntPtr.Zero) { DragDropEffects effects; //OnDragStart(new DragEnterEventArgs((items[0].ParentItem != null ? items[0].ParentItem : items[0]), fileView.ListView)); ShellAPI.DoDragDrop(dataObjectPtr, this, DragDropEffects.Copy | DragDropEffects.Link | DragDropEffects.Move, out effects); //OnDragEnd(new EventArgs()); } }
private void tvStatuses_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { NodeToBeDeleted = (TreeNode)e.Item; string strItem = e.Item.ToString(); DoDragDrop(strItem, DragDropEffects.Copy | DragDropEffects.Move); }
// -------------------------------------------------------- // User is trying to initiate a drag - allow drag operation // -------------------------------------------------------- private void ListView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { ApsimFile.Component Comp = Controller.ApsimData.Find(NodePath); ApsimFile.Component SelectedComp = Comp.Find(ListView.SelectedItems[0].Text); string DataString = SelectedComp.FullXML(); ListView.DoDragDrop(DataString, DragDropEffects.All); }
private void base_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { System.Diagnostics.Debug.WriteLine("ItemDrag fired"); TreeNode draggedNode = (TreeNode)e.Item; ContentDetail noteForDraggedNode = GetContentDetailForNode(draggedNode); this.DoDragDrop(new DraggedNodeData(this.InstanceId, noteForDraggedNode.Id, noteForDraggedNode.Xml), DragDropEffects.Move | DragDropEffects.Copy); }
/// <summary> /// Called when we start dragging an item out of our listview /// </summary> private void listViewFile_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { string[] files = GetSelection(); if (files != null) { DoDragDrop(new DataObject(DataFormats.FileDrop, files), DragDropEffects.Copy /* | DragDropEffects.Move | DragDropEffects.Link */); } }
protected override void OnItemDrag(ItemDragEventArgs e) { // can't drag the root node if (!base.SelectedNodes.Contains(base.Nodes[0])) DoDragDrop(BeginDragNodes(base.SelectedNodes), DragDropEffects.All); else base.OnItemDrag(e); }
private void stencilChooserTreeView_ItemDrag(object sender, ItemDragEventArgs e) { ModelStencil modelStencil; if (modelStencils.TryGetValue(((TreeNode)e.Item).Text, out modelStencil)) { this.DoDragDrop(modelStencil, DragDropEffects.Move); } }
private void tvDoctorGroup_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { if (e.Button == MouseButtons.Left) { //开始进行"Drag"操作 DoDragDrop((TreeNode)e.Item, DragDropEffects.Move); } }
//protected override void WndProc(ref System.Windows.Forms.Message m) //{ // const int WM_PAINT = 0xf ; // switch(m.Msg) // { // case WM_PAINT: // if(this.View == System.Windows.Forms.View.Details && this.Columns.Count > 0) // { // this.Columns[this.Columns.Count - 1].Width = -2 ; // } // break ; // } // base.WndProc (ref m); //} protected override void OnItemDrag(ItemDragEventArgs e) { if (!this.AllowRowReorder) { return; } base.DoDragDrop(REORDER, DragDropEffects.Move); base.OnItemDrag(e); }
private void treeView_ItemDrag(object sender, ItemDragEventArgs e) { Debug.WriteLine("\t Source Tree Item Dragged... "); if (e.Button == MouseButtons.Left) { treeView.DoDragDrop(e.Item.ToString(), DragDropEffects.Copy | DragDropEffects.All); } }
private void _folders_ItemDrag(object sender, ItemDragEventArgs e) { // allow dragging of nodes var selection = (ISelection)e.Item; // send the node if (selection.Item != null) _folders.DoDragDrop(selection.Item, DragDropEffects.Move); }
private void lstv_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { XBitmap[] axbm = new XBitmap[lstv.SelectedItems.Count]; for (int i = 0; i < lstv.SelectedItems.Count; i++) { axbm[i] = (XBitmap)lstv.SelectedItems[i].Tag; } DoDragDrop(axbm, DragDropEffects.All); }
private void treeSchema_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { TreeNode node = (TreeNode)e.Item; if (node != null) { treeSchema.DoDragDrop(node.Text, DragDropEffects.Copy | DragDropEffects.Move); } }
// drag nodes from tree to grid private void _tree_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { TreeNode node = e.Item as TreeNode; if (node != null && node.Tag is DataColumn) { DoDragDrop(e.Item, DragDropEffects.Copy); } }
/// <summary> /// Starts a drag-and-drop operation on the FolderList. /// </summary> /// <param name="sender">The control that is the source of the event.</param> /// <param name="e">Arguments associated with the event.</param> private void treeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { // Extract the parameters that are useful in describing and opening up an object. This is the value that will be // passed around to other controls that can consume a drag-and-drop operation from the Folder List. DataObject dataObject = new DataObject(typeof(TreeNode).ToString(), e.Item); // Begin the drag-and-drop operation with the element selected. this.DoDragDrop(dataObject, DragDropEffects.Copy | DragDropEffects.Move); }
private void listView1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { ListViewItem dragedLvi = (ListViewItem)e.Item; if (DragDropEffects.Move == listView1.DoDragDrop(dragedLvi, DragDropEffects.Move)) { listView1.Items.Remove(dragedLvi); } }
/// <summary> /// Starts drag and drop. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _qsetTreeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { QSetItemBase item = ((QSetItemTreeNode)e.Item).QSetItem; if (!(item.ParentItem is QSetMachineItem) && !(item is QSetModel)) { _qsetTreeView.DoDragDrop(((QSetItemTreeNode)e.Item).QSetItem, DragDropEffects.Move); } }
// the ItemDrag event for both TreeView controls. private void TreeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { if (e.Button == MouseButtons.Left) { //invoke the drag and drop operation DoDragDrop(e.Item, DragDropEffects.Move | DragDropEffects.Copy); } }
private void MogControl_PackageTreeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { DataObject send = GetItemDragEventDataObject(); if (send != null) { // Fire the DragDrop event DragDropEffects dde1 = DoDragDrop(send, DragDropEffects.Copy); } }
private void tvTree_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { ArrayList nodes = new ArrayList(); foreach (imTreeNode tn in this.tvTree.SelectedNodes) { nodes.Add(tn); } this.tvTree.DoDragDrop(nodes, DragDropEffects.Link); }
/// <summary> /// Prepare to drag a package into the assigned packages window /// </summary> private void ProjectPackagesTreeView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { DataObject send = PrepareDragObject(ProjectPackagesTreeView, ProjectPackagesTreeView.SelectedNode); if (send != null) { // Fire the DragDrop event DragDropEffects dde1 = DoDragDrop(send, DragDropEffects.Copy); } }
private void listView1_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Item is ListViewItem) { var listViewItem = e.Item as ListViewItem; if (!string.IsNullOrEmpty(listViewItem.Text)) DoDragDrop(new DragItem(listViewItem.Text), DragDropEffects.Copy); } }
// On dragging beggin private void camerasTree_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { TreeNode dragNode = (TreeNode)e.Item; // check for camera item if (camerasTree.GetNodeType(dragNode) == NodeType.Camera) { // drag it camerasTree.DoDragDrop(camerasTree.GetCameraFullName(dragNode), DragDropEffects.Copy); } }
private void JThumbnailView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { ArrayList files = new ArrayList(); foreach (ListViewItem lvi in this.SelectedItems) { files.Add(lvi.Tag.ToString()); } // DataObjectEx data = new DataObjectEx(); // data.SetData(DataFormats.FileDrop, (string[])files.ToArray(typeof(string))); DragDropEffects res = this.DoDragDrop((string[])files.ToArray(typeof(string)), DragDropEffects.Copy | DragDropEffects.Move); }
private void lvRepositories_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { if (this.lvRepositories.SelectedItems.Count > 0) { ArrayList selected = new ArrayList(); foreach (ListViewItem item in this.lvRepositories.SelectedItems) { selected.Add(item); } this.lvRepositories.DoDragDrop(selected, DragDropEffects.Move); } }
private void lsvBedView_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { lsvBedView.DoDragDrop(e.Item, DragDropEffects.Move); ListViewItem lvi = (ListViewItem)e.Item; ai = lvi.Index; //换床处理 if (ChangeItems(ai, bi) == 1) { //刷新床位***待添加 } }
private void treeProject_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { System.Windows.Forms.TreeNode node = (System.Windows.Forms.TreeNode)e.Item; if (node.Level == 0) { return; } timerDragDrop.Interval = 100; timerDragDrop.Start(); DoDragDrop(e.Item, DragDropEffects.Move); }
private void C_GroupInfoTree_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { // Move the dragged node when the left mouse button is used. if (e.Button == MouseButtons.Left) { DoDragDrop(e.Item, DragDropEffects.Move); } // Copy the dragged node when the right mouse button is used. else if (e.Button == MouseButtons.Right) { DoDragDrop(e.Item, DragDropEffects.Copy); } }
private void treeViewAdv_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { TreeViewAdv treeViewAdv = sender as TreeViewAdv; // The TreeViewAdv always provides an array of selected nodes. TreeNodeAdv[] nodes = e.Item as TreeNodeAdv[]; // Let us get only the first selected node. TreeNodeAdv node = nodes[0]; // Only allow move DragDropEffects result = treeViewAdv.DoDragDrop(nodes, DragDropEffects.Move); }
private void CourseTree_ItemDrag(object sender, ItemDragEventArgs e) { if (EditorObserver.HostEditorMode == Utils.Controls.HtmlEditing.Enums.HtmlEditingToolMode.Design) { dragNode = (TreeNode)e.Item; CourseTree.SelectedNode = dragNode; // Запрещено перемещать следующие узлы: // корень учебной программы, входы, выходы, ответы, компетенции // во входах, кроме внешних компетенций. if (!(dragNode is CourseRoot || dragNode is InConceptParent || dragNode is OutConceptParent || dragNode is Response || dragNode is InConceptParent && dragNode.Parent == CourseTree.InConceptsParent || dragNode is InDummyConcept && dragNode.Parent != CourseTree.InConceptsParent)) { //if (((CourseItem)dragNode).NodeType == Enums.ItemType.Question) //{ // question = (dragNode as Question); // priorParent = (dragNode.Parent as ECNode); //} dragImageList.Images.Clear(); if (dragNode.Bounds.Size.Width + CourseTree.Indent > 256) { dragImageList.ImageSize = new Size(256, dragNode.Bounds.Height); } else { dragImageList.ImageSize = new Size(dragNode.Bounds.Size.Width + CourseTree.Indent, dragNode.Bounds.Height); } var bmp = new Bitmap(dragNode.Bounds.Width + CourseTree.Indent, dragNode.Bounds.Height); var g = Graphics.FromImage(bmp); g.DrawString(dragNode.Text, CourseTree.Font, new SolidBrush(CourseTree.ForeColor), CourseTree.Indent, 1.0f); dragImageList.Images.Add(bmp); var p = CourseTree.PointToClient(Control.MousePosition); var dx = p.X + CourseTree.Indent - dragNode.Bounds.Left; var dy = p.Y - dragNode.Bounds.Top; if (DragHelper.ImageList_BeginDrag(dragImageList.Handle, 0, dx, dy)) { CourseTree.DoDragDrop(bmp, DragDropEffects.Move); DragHelper.ImageList_EndDrag(); } } } }
private void listView_ItemDrag(object sender, ItemDragEventArgs e) { ListView listView = sender as ListView; if (listView == null) return; if (listView == lvDisplayedColumns && listView.SelectedItems.Contains(lvDisplayedColumns.Items[0])) { MessageBox.Show(this, string.Format("The \"{0}\" column can't be moved!", ((ColumnData)lvDisplayedColumns.Items[0].Tag).Header)); return; } mDragStartListView = listView; mDragStartListView.DoDragDrop(listView.SelectedItems, DragDropEffects.Move | DragDropEffects.Copy); }
/// <summary> /// This method initialises the dragging of a TreeNode /// </summary> void ItemDrag(object sender, ItemDragEventArgs e) { ReleaseCom(); startButton = e.Button; ShellItem item = (ShellItem)((TreeNode)e.Item).Tag; dataObjectPtr = ShellHelper.GetIDataObject(new ShellItem[] { item }); if (dataObjectPtr != IntPtr.Zero) { DragDropEffects effects; OnDragStart(new DragEnterEventArgs((item.ParentItem != null ? item.ParentItem : item), br.FolderView)); ShellAPI.DoDragDrop(dataObjectPtr, this, DragDropEffects.Copy | DragDropEffects.Link | DragDropEffects.Move, out effects); OnDragEnd(new EventArgs()); } }
// Used to start a drag protected void ItemDragEvent(object sender, ItemDragEventArgs e) { try { if (e.Item is IDragDropItem) { IDragDropItem node = (IDragDropItem)e.Item; node.SelectThisItem(); if (node.IsDragSource) { // Not too elegant, but we might be dragging // controls to the design surface DesignerHost.Host.AddingControls = true; ((Control)_control).DoDragDrop(node, DragDropEffects.Copy); DesignerHost.Host.AddingControls = false; } } } catch (Exception ex) { TraceUtil.WriteLineWarning(this, "ItemDragEvent exception: " + ex); } }
private void listViewResults_ItemDrag(object sender, ItemDragEventArgs e) { List<int> cardIDs = new List<int>(); foreach (ListViewItem item in listViewResults.SelectedItems) { if(item is IDListViewItem) cardIDs.Add(((IDListViewItem)item).ID); } if (cardIDs.Count > 0) { LanguageData dataLayer = new LanguageData(); string description = string.Empty; foreach (dsLanguageData.CardRow card in dataLayer.GetCardsByIDs(cardIDs)) { description += ", " + card.Question; } description = description.Remove(0, 2); DoDragDrop(new CardDragDropHolder(this, cardIDs, description, CardDragDropAction.Add), DragDropEffects.All); } }
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Item is EditorItem) DoDragDrop(e.Item, DragDropEffects.Move); }
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) { if (((TreeNode)e.Item).Tag is Layer) return; if (((TreeNode)e.Item).Tag is Level) return; Editor.Instance.beginCommand("Drag Item"); DoDragDrop(e.Item, DragDropEffects.Move); }
private void listView1_ItemDrag(object sender, ItemDragEventArgs e) { ListViewItem lvi = (ListViewItem)e.Item; if (lvi.Tag.ToString() == "folder") return; toolStripStatusLabel1.Text = lvi.ToolTipText; Bitmap bmp = new Bitmap(listView1.LargeImageList.Images[lvi.ImageKey]); dragcursor = new Cursor(bmp.GetHicon()); listView1.DoDragDrop(e.Item, DragDropEffects.Move); }
private void lstDBSpecies_ItemDrag(object sender, ItemDragEventArgs e) { SpecieDrag drag = new SpecieDrag(new DataRow[lstDBSpecies.SelectedItems.Count]); for (int i = 0; i < lstDBSpecies.SelectedItems.Count; i++) drag.Value[i] = (DataRow)lstDBSpecies.SelectedItems[i].Tag; DoDragDrop(drag, DragDropEffects.Move | DragDropEffects.Link); }
//------------------------------------------------------------------------------------- #region << Drag&Drop Methods >> void treeView_ItemDrag(object sender, ItemDragEventArgs e) { try { if(allowInternalDragDrop == false) return; if((e.Button & MouseButtons.Left) != MouseButtons.Left) return; StringFormat sf = new StringFormat(); sf.Trimming = StringTrimming.EllipsisCharacter; ITreeItem item = (ITreeItem)((SimTreeNode)e.Item).TreeItem; if(item != SelectedNodeItem) SelectNodeWithItem(item); Bitmap bmp = null; Brush back = null; Pen border = null; try { back = new SolidBrush(SystemColors.Info); border = new Pen(SystemColors.InfoText); SizeF ms = this.CreateGraphics().MeasureString(item.ItemText, treeView.Font); if(ms.Width > this.Width - 50) ms.Width = this.Width - 50; Rectangle r = new Rectangle(0,0, (int)ms.Width + 5, (int)ms.Height + 2); bmp = new Bitmap(r.Width, r.Height, PixelFormat.Format32bppArgb); Graphics g = Graphics.FromImage(bmp); g.FillRectangle(back, r); g.DrawRectangle(border, new Rectangle(0,0,r.Width-1, r.Height-1)); // using(SolidBrush text = new SolidBrush(SystemColors.InfoText)) g.DrawString(item.ItemText, treeView.Font, text, new RectangleF(2, 1, r.Width, r.Height), sf); //cursorCan = new Cursor(bmp.GetHicon()); cursorCan = WinAPI.IconInfo.CreateCursorFromBitmap(bmp, 0,0); bmp = new Bitmap(r.Width + 7, r.Height + 7, PixelFormat.Format32bppArgb); g = Graphics.FromImage(bmp); g.FillRectangle(back, r); g.DrawRectangle(border, r); using(SolidBrush text = new SolidBrush(SystemColors.InfoText)) g.DrawString(item.ItemText, treeView.Font, text, new RectangleF(2, 1, r.Width, r.Height), sf); g.DrawIcon(Properties.Resources.StopIcon, new Rectangle(r.Width - 9, r.Height - 9, 16, 16)); //cursorCanNot = new Cursor(bmp.GetHicon()); cursorCanNot = WinAPI.IconInfo.CreateCursorFromBitmap(bmp, 0, 0); this.DoDragDrop(item, DragDropEffects.Move); treeView.Cursor = Cursors.Default; if(treeView.prevDropNode != null) { treeView.BeginUpdate(); treeView.prevDropNode.NodeFont = null; treeView.prevDropNode.ForeColor = Color.Empty; treeView.prevDropNode = null; treeView.EndUpdate(); } } finally { if(back != null) back.Dispose(); back = null; if(border != null) border.Dispose(); border = null; if(cursorCan != null) cursorCan.Dispose(); cursorCan = null; if(cursorCanNot != null) cursorCanNot.Dispose(); cursorCanNot = null; if(bmp != null) bmp.Dispose(); bmp = null; } } catch(Exception Err) { Sim.Controls.ErrorBox.Show(Err); } }
/// <summary> /// Event handler for item dragging /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void listViewEntities_ItemDrag(object sender, ItemDragEventArgs e) { if(e.Item == null) return; ListViewItem Item = e.Item as ListViewItem; if(Item == null || Item.Tag == null || !(Item.Tag is DragAndDropPanelEntry)) return; DragAndDropPanelEntry Entry = Item.Tag as DragAndDropPanelEntry; switch (Entry.Type) { case DragAndDropPanelEntry.EntryType.Model: DoDragDrop(new ModelShapeCreator(EditorManager.Project.MakeRelative(Entry.Path)), DragDropEffects.Copy | DragDropEffects.Scroll); break; case DragAndDropPanelEntry.EntryType.StaticMesh: DoDragDrop(new StaticMeshShapeCreator(EditorManager.Project.MakeRelative(Entry.Path)), DragDropEffects.Copy | DragDropEffects.Scroll); break; } }
private void treGear_ItemDrag(object sender, ItemDragEventArgs e) { try { if (e.Button == MouseButtons.Left) { if (treGear.SelectedNode.Level != 1 && treGear.SelectedNode.Level != 0) return; _objDragButton = MouseButtons.Left; } else { if (treGear.SelectedNode.Level == 0) return; _objDragButton = MouseButtons.Right; } // Do not allow the root element to be moved. if (treGear.SelectedNode.Tag.ToString() == "Node_SelectedGear") return; } catch { return; } _intDragLevel = treGear.SelectedNode.Level; DoDragDrop(e.Item, DragDropEffects.Move); }
private void treWeapons_ItemDrag(object sender, ItemDragEventArgs e) { try { if (treWeapons.SelectedNode.Level != 1 && treWeapons.SelectedNode.Level != 0) return; // Do not allow the root element to be moved. if (treWeapons.SelectedNode.Tag.ToString() == "Node_SelectedWeapons") return; } catch { return; } _intDragLevel = treWeapons.SelectedNode.Level; DoDragDrop(e.Item, DragDropEffects.Move); }
private void treLifestyles_ItemDrag(object sender, ItemDragEventArgs e) { try { if (treLifestyles.SelectedNode.Level != 1) return; } catch { return; } _intDragLevel = treLifestyles.SelectedNode.Level; DoDragDrop(e.Item, DragDropEffects.Move); }
private void listView1_ItemDrag(object sender, ItemDragEventArgs e) { if (e.Item is ListViewItem) { ReOrder(); } }
private void treVehicles_ItemDrag(object sender, ItemDragEventArgs e) { try { if (treVehicles.SelectedNode.Level != 1) { // Determine if this is a piece of Gear. If not, don't let the user drag the Node. Vehicle objVehicle = new Vehicle(_objCharacter); Gear objGear = _objFunctions.FindVehicleGear(treVehicles.SelectedNode.Tag.ToString(), _objCharacter.Vehicles, out objVehicle); if (objGear != null) { _objDragButton = e.Button; _blnDraggingGear = true; } else { return; } } } catch { return; } _intDragLevel = treVehicles.SelectedNode.Level; DoDragDrop(e.Item, DragDropEffects.Move); }
//Drag a show private void lstvw_Display_ItemDrag(object sender, ItemDragEventArgs e) { BeingDragged = lstvw_Display.SelectedItems[0].Name; lstvw_Display.DoDragDrop(BeingDragged, DragDropEffects.Move); }
/// <summary> /// /// </summary> /// <param name="e"></param> protected override void OnItemDrag(ItemDragEventArgs e) { base.OnItemDrag(e); if (this.DragSource == null) return; Object data = this.DragSource.StartDrag(this, e.Button, (OLVListItem)e.Item); if (data != null) { DragDropEffects effect = this.DoDragDrop(data, this.DragSource.GetAllowedEffects(data)); this.DragSource.EndDrag(data, effect); } }
private void tvMetaData_ItemDrag(object sender, ItemDragEventArgs e) { DoDragDrop(e.Item, DragDropEffects.Move); }
void lsvCacheCookie_ItemDrag(object sender, ItemDragEventArgs e) { lsvCacheCookie.DoDragDrop(e.Item, DragDropEffects.All); }
protected override void OnMouseMove(MouseEventArgs e) { if (_rowIndexFromMouseDown != -1 && (e.Button & MouseButtons.Left) == MouseButtons.Left) { if (ShouldBeginDrag(e)) { // Proceed with the drag and drop, passing in the list item. ItemDragEventArgs args = new ItemDragEventArgs(MouseButtons.Left, null); EventsHelper.Fire(_itemDrag, this, args); // reset the drag box to empty so that the event is not fired repeatedly _dragBoxFromMouseDown = Rectangle.Empty; } } else { // allow the base class to handle it only if the left mouse button was not pressed base.OnMouseMove(e); } }