ContainsFileDropList() public method

public ContainsFileDropList ( ) : bool
return bool
Exemplo n.º 1
0
        /// <summary>
        /// 获得拖放列表中符合要求的拖放项
        /// </summary>
        /// <param name="data">拖放数据</param>
        /// <param name="enableFolder">是否允许文件夹</param>
        /// <param name="enableFile">是否允许文件</param>
        /// <param name="fileExtensions">允许的文件类型</param>
        /// <returns>返回符合要求的文件列表</returns>
        public static IEnumerable <string> GetAvailableFileItem(this DataObject data, bool enableFolder, bool enableFile, HashSet <string> fileExtensions = null)
        {
            if (!data.ContainsFileDropList())
            {
                return(null);
            }

            return(data.GetFileDropList().Cast <string>().Where(
                       s =>
                       (enableFolder && System.IO.Directory.Exists(s))
                       ||
                       (enableFile && System.IO.File.Exists(s) && (fileExtensions == null || fileExtensions.Count == 0 || fileExtensions.Contains("*") || fileExtensions.Contains(System.IO.Path.GetExtension(s).Trim('.'))))
                       ));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 判断拖放列表是否有任何一个符合要求的拖放项
        /// </summary>
        /// <param name="data">拖放数据</param>
        /// <param name="enableFolder">是否允许文件夹</param>
        /// <param name="enableFile">是否允许文件</param>
        /// <param name="fileExtensions">允许的文件类型</param>
        /// <returns>如果至少一个符合要求,则返回true,否则返回false</returns>
        public static bool HasAvailableFileItem(this DataObject data, bool enableFolder, bool enableFile, params string[] fileExtensions)
        {
            if (!data.ContainsFileDropList())
            {
                return(false);
            }

            return(data.GetFileDropList().Cast <string>().Any(
                       s =>
                       (enableFolder && System.IO.Directory.Exists(s))
                       ||
                       (enableFile && System.IO.File.Exists(s) && (fileExtensions.IsEmpty() || fileExtensions.Contains(System.IO.Path.GetExtension(s).Trim('.'))))
                       ));
        }
Exemplo n.º 3
0
		public void TestAudio ()
		{
			DataObject d = new DataObject ();
			byte[] b = new byte[] { 1, 2, 3 };

			d.SetAudio (b);

			Assert.AreEqual (true, d.ContainsAudio (), "A1");
			Assert.AreEqual (false, d.ContainsFileDropList (), "A2");
			Assert.AreEqual (false, d.ContainsImage (), "A3");
			Assert.AreEqual (false, d.ContainsText (), "A4");
			Assert.AreEqual (false, d.ContainsText (TextDataFormat.CommaSeparatedValue), "A5");

			Assert.AreEqual (b.Length, d.GetAudioStream ().Length, "A6");
		}
Exemplo n.º 4
0
		public void TestText ()
		{
			DataObject d = new DataObject ();

			d.SetText ("yo");

			Assert.AreEqual (false, d.ContainsAudio (), "A1");
			Assert.AreEqual (false, d.ContainsFileDropList (), "A2");
			Assert.AreEqual (false, d.ContainsImage (), "A3");
			Assert.AreEqual (true, d.ContainsText (), "A4");
			Assert.AreEqual (false, d.ContainsText (TextDataFormat.CommaSeparatedValue), "A5");

			Assert.AreEqual ("yo", d.GetText (), "A6");
			Assert.AreEqual ("yo", d.GetData (DataFormats.StringFormat), "A6-1");
			
			d.SetText ("<html></html>", TextDataFormat.Html);
			Assert.AreEqual (true, d.ContainsText (), "A7");
			Assert.AreEqual (false, d.ContainsText (TextDataFormat.CommaSeparatedValue), "A8");
			Assert.AreEqual (true, d.ContainsText (TextDataFormat.Html), "A9");
			Assert.AreEqual (false, d.ContainsText (TextDataFormat.Rtf), "A10");
			Assert.AreEqual (true, d.ContainsText (TextDataFormat.Text), "A11");
			Assert.AreEqual (true, d.ContainsText (TextDataFormat.UnicodeText), "A12");

			// directly put a string
			d.SetData ("yo");

			Assert.AreEqual (true, d.ContainsText (TextDataFormat.Text), "A13");
			Assert.AreEqual (true, d.ContainsText (TextDataFormat.UnicodeText), "A14");

			Assert.AreEqual ("yo", d.GetData (DataFormats.StringFormat), "A15");
			Assert.AreEqual ("yo", d.GetData (DataFormats.Text), "A16");
			Assert.AreEqual ("yo", d.GetData (DataFormats.UnicodeText), "A17");
		}
Exemplo n.º 5
0
		public void TestImage ()
		{
			DataObject d = new DataObject ();
			Image i = new Bitmap (16, 16);
			
			d.SetImage (i);

			Assert.AreEqual (false, d.ContainsAudio (), "A1");
			Assert.AreEqual (false, d.ContainsFileDropList (), "A2");
			Assert.AreEqual (true, d.ContainsImage (), "A3");
			Assert.AreEqual (false, d.ContainsText (), "A4");
			Assert.AreEqual (false, d.ContainsText (TextDataFormat.CommaSeparatedValue), "A5");

			Assert.AreSame (i, d.GetImage (), "A6");
		}
Exemplo n.º 6
0
		public void TestFileDrop ()
		{
			DataObject d = new DataObject ();
			StringCollection sc = new StringCollection ();
			
			sc.AddRange (new string[] {"A", "B", "C"});

			d.SetFileDropList (sc);

			Assert.AreEqual (false, d.ContainsAudio (), "A1");
			Assert.AreEqual (true, d.ContainsFileDropList (), "A2");
			Assert.AreEqual (false, d.ContainsImage (), "A3");
			Assert.AreEqual (false, d.ContainsText (), "A4");
			Assert.AreEqual (false, d.ContainsText (TextDataFormat.CommaSeparatedValue), "A5");

			Assert.AreEqual (sc.Count, d.GetFileDropList ().Count, "A6");
		}
Exemplo n.º 7
0
        private void treeView_DragOver(object sender, DragEventArgs e)
        {
            DataObject o = new DataObject(e.Data);
            if (o.ContainsFileDropList()) {
                FileTreeNode node = (FileTreeNode)treeView.GetNodeAt(treeView.PointToClient(new Point(e.X, e.Y)));
                if (node != null && node.File.Type == FileSystemObjectType.Directory) {
                    if ((e.AllowedEffect & DragDropEffects.Move) != 0 && (e.KeyState & 8) == 0) // Ctrl is pressed
                    {
                        e.Effect = DragDropEffects.Move;
                        return;
                    }
                    else if ((e.AllowedEffect & DragDropEffects.Copy) != 0) {
                        e.Effect = DragDropEffects.Copy;
                        return;
                    }
                }
            }

            e.Effect = DragDropEffects.None;
        }
Exemplo n.º 8
0
        private void treeView_DragDrop(object sender, DragEventArgs e)
        {
            DataObject o = new DataObject(e.Data);
            if (o.ContainsFileDropList()) {
                FileTreeNode node = (FileTreeNode)treeView.GetNodeAt(treeView.PointToClient(new Point(e.X, e.Y)));
                if (node != null && node.File.Type == FileSystemObjectType.Directory) {
                    StringCollection files = o.GetFileDropList();

                    Paste(node, files, e.Effect == DragDropEffects.Move ? false : true);
                }
            }
        }
Exemplo n.º 9
0
        public bool LoadDataObject(object Src)
        {
            try
            {
                DataObject d = new DataObject(Src);

                if (d.ContainsImage())
                {
                    if (LoadImage(d.GetImage()))
                        return true;
                }

                if (d.ContainsFileDropList())
                {
                    foreach (string FName in d.GetFileDropList())
                    {
                        try
                        {
                            if (LoadImage(FName))
                                return true;

                        }
                        catch
                        {
                        }
                    }
                }

                if (d.ContainsText())
                {
                    string FName = d.GetText().Trim();

                    if ((FName.IndexOf("http://") == 0) ||
                        (FName.IndexOf("https://") == 0))
                    {
                        if (LoadImageFromUrl(FName))
                            return true;

                    }
                    else
                    {
                        if (File.Exists(FName))
                        {
                            if (LoadImage(FName))
                                return true;
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.ToString());

            }
            return false;
        }
Exemplo n.º 10
0
 public bool ContainsFileDropList()
 {
     return(_dao.ContainsFileDropList());
 }