• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    c#中實現文件拖放打開的方法

    來源:懂視網 責編:小采 時間:2020-11-27 22:45:44
    文檔

    c#中實現文件拖放打開的方法

    c#中實現文件拖放打開的方法:C#實現文件拖放并打開文件 需要知道的ListBox的兩個事件:當您在控件的邊界內拖動對象時,便會發生 DragEnter 事件;該事件用于確 定當前拖動的對象是不是您要放到控件上的對象。 在將一個或多個文件拖到控件上時,需要處理此事件。 這使 得在將對象拖到控件
    推薦度:
    導讀c#中實現文件拖放打開的方法:C#實現文件拖放并打開文件 需要知道的ListBox的兩個事件:當您在控件的邊界內拖動對象時,便會發生 DragEnter 事件;該事件用于確 定當前拖動的對象是不是您要放到控件上的對象。 在將一個或多個文件拖到控件上時,需要處理此事件。 這使 得在將對象拖到控件

    C#實現文件拖放并打開文件

    需要知道的ListBox的兩個事件:當您在控件的邊界內拖動對象時,便會發生 DragEnter 事件;該事件用于確

    定當前拖動的對象是不是您要放到控件上的對象。 在將一個或多個文件拖到控件上時,需要處理此事件。 這使

    得在將對象拖到控件上方時,能夠根據所拖動的對象顯示相應的圖標。 將拖動的對象釋放到控件上時,會發生

    DragDrop 事件。

    功能描述:向ListBox拖入一個文件,ListBox顯示該文件的路徑,然后單擊該路徑,點擊Open按鈕打開該文件。

    代碼實現:

    需要將ListBox的AllowDrop屬性改為true,并實現它的DragEnter、DragDrop這兩個事件。

    代碼如下:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace DragDrop
    {
        public partial class DragDrop : Form
        {
            public string FilePath;

            public DragDrop()
            {
                InitializeComponent();
            }

            /// <summary>
            /// 獲取ListBox的值。
            /// </summary>
            /// <returns></returns>
            public string GetListBoxItem()
            {
                string filePath = string.Empty;

                bool isSelected = IsListBoxSelected();

                if (isSelected==true)
                {
                    string listBoxItemValue = lbFilePath.SelectedItem.ToString();

                    filePath = listBoxItemValue;
                }
                else
                {
                    MessageBox.Show("ListBox must be selected.");
                }

                return filePath;
            }

            /// <summary>
            /// ListBox內的值是否被選中。
            /// </summary>
            /// <returns></returns>
            public bool IsListBoxSelected()
            {
                bool selected;

                if (lbFilePath.SelectedIndex == -1)//SelectedIndex==-1時,表示未選中任何項。
                {
                    selected = false;
                }
                else
                {
                    selected = true;
                }

                return selected;
            }

            private void lbFilePath_DragEnter(object sender, DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    e.Effect = DragDropEffects.All;
                }
                else
                {
                    e.Effect = DragDropEffects.None;
                }
            }

            private void lbFilePath_DragDrop(object sender, DragEventArgs e)
            {
                string[] s=(string[])e.Data.GetData(DataFormats.FileDrop,false);

                for (int i = 0; i < s.Length; i++)
                {
                    lbFilePath.Items.Add(s[i]);
                }
            }

            private void btnOpenFile_Click(object sender, EventArgs e)
            {
                string filePath=GetListBoxItem();

                if (!string.IsNullOrEmpty(filePath))
                {
                    System.Diagnostics.Process.Start(filePath);
                }
            }
        }
    }

    總結:

    Data 對象的 GetData 方法返回一個字符串數組,該數組包含拖到該列表框控件中的文件的完整路徑名。 可以使用此文件路徑信息來執行需要對文件執行的任何操作。

    補充代碼:

    代碼如下:private void Form1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) 
      { 
      if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
      e.Effect = DragDropEffects.Link;  
      else e.Effect = DragDropEffects.None;  
      } 

      private void Form1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) 
      { 
      //其中label1.Text顯示的就是拖進文件的文件名; 
      label1.Text = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();  
      }  

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    c#中實現文件拖放打開的方法

    c#中實現文件拖放打開的方法:C#實現文件拖放并打開文件 需要知道的ListBox的兩個事件:當您在控件的邊界內拖動對象時,便會發生 DragEnter 事件;該事件用于確 定當前拖動的對象是不是您要放到控件上的對象。 在將一個或多個文件拖到控件上時,需要處理此事件。 這使 得在將對象拖到控件
    推薦度:
    標簽: 文件 打開 如何將
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产在线精品网址你懂的| 久久精品一区二区| 欧美+亚洲+精品+三区| 亚洲精品无码久久久久| 国产精品99久久久久久猫咪| 精品无码AV无码免费专区| 久久久WWW免费人成精品| 久久精品国产亚洲欧美| 国产精品原创巨作av女教师| 亚洲精品高清在线| 精品无码人妻一区二区三区不卡| 精品一区二区三区免费| 国产精品久久久亚洲| 亚洲精品国偷自产在线| 久久性精品| 国产微拍精品一区二区| 欧美高清在线精品一区| 国产精品高清一区二区三区| 亚洲精品乱码久久久久久按摩| 亚洲国产精品人人做人人爱| 狠狠精品久久久无码中文字幕 | 精品久久人人做人人爽综合| 一本久久a久久精品综合夜夜| 国产精品福利在线观看| 国产午夜精品无码| 精品人妻中文字幕有码在线| 亚洲AV无码成人精品区天堂| 亚洲AV永久无码精品一区二区 | 97久久精品国产精品青草 | 欧美性videos高清精品| 亚洲国产精品无码久久SM| 亚洲人精品午夜射精日韩| 亚洲精品无码成人片在线观看| 欧美亚洲综合免费精品高清在线观看| 惠民福利中文字幕人妻无码乱精品 | 国产精品毛片无遮挡| 国产精品无码专区| 成人午夜精品视频在线观看| 久久精品国产影库免费看 | AAA级久久久精品无码片| 99国产精品无码|