国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

手把手教你在winform中將文本或文件路徑拖到控件中

這篇具有很好參考價值的文章主要介紹了手把手教你在winform中將文本或文件路徑拖到控件中。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

我們在winform開發(fā)中經(jīng)常有這類需求:我們需要將文件,比如txt文件的所有內(nèi)容復制到 RichTextBox控件上,或者需要將txt文件的某一行內(nèi)容移動到 RichTextBox控件上,這些功能是怎么實現(xiàn)的呢?請接著往下看。

博主履歷介紹:

本人2017年碩士畢業(yè),行業(yè)經(jīng)驗六年+,一直在自動化行業(yè)從事上位機軟件開發(fā)的工作,當然運動控制和機器視覺也廣泛涉及,目前也是以高級軟件工程師的職位任職,薪資我就不方便透露了,你可以去招聘網(wǎng)站去查上位機高級軟件工程師的薪資范圍(只能說至少兩萬月薪Base),可以說理論和實戰(zhàn)經(jīng)驗都比較豐富,所以我的經(jīng)驗對學習c#的尤其自動化行業(yè)的人極具參考價值,可以說如果掌握了我的博客所有文章,你也可以達到甚至超越我的水平,也祝愿大家都能通過自己的努力找到理想的工作!

本篇文章是我經(jīng)過多年實戰(zhàn)經(jīng)驗總結(jié)的博客專欄《winform控件從入門到精通》系列文章中的一篇介紹如何用幾行代碼給winform多個控件(數(shù)量無上限)賦值文章,如果需要系統(tǒng)的了解winform控件開發(fā),請訂閱專欄《winform控件從入門到精通》,限時19.9元(一頓外賣),原創(chuàng)不易,敬請諒解!本專欄會對winform中所有控件進行介紹,包括控件的屬性和事件,重點是我會將控件所有屬性和事件進行介紹,并且也會在專欄中增加一些案例來幫助想學習winform控件的程序員來鞏固以及練習如何靈活的運用控件的各種特性來實現(xiàn)不同的功能,所以該專欄文章既包含了入門內(nèi)容,也包含了進階內(nèi)容,對于想學習winform控件開發(fā)的程序員來說這絕對是一份非常詳細的資料,您也可以將其作為自己的字典,需要使用某個功能的時候來查閱即可,當然如果您發(fā)現(xiàn)我的文章中有您需要的功能,但是我沒有進行介紹,您可以在我的博客中留言,我會及時更新該功能,感謝大家一直以來的支持!

**訂閱《winform控件從入門到精通》專欄的vip成員還可享受以下增值服務:
1)進入VIP群和眾多學員一起交流學習winform,c#,找工作等
2)博主會上傳一些免費的學習資料幫助大家學習,比如本篇博文說的上位機源碼、《c#圖解教程》、《c#本質(zhì)論》的電子書籍、串口助手的源碼等
3)如果遇到學習困難還可在群里@博主來幫助你

關于所有控件的訪問鏈接如下:

1、Winform從入門到精通(27)——Label(詳細版本)
2、Winform從入門到精通(2)——Button(史上最全)
3、Winform從入門到精通(3)——Form(史上最全)
4、Winform從入門到精通(4)——Textbox(史上最全)
#5、Winform從入門到精通(5)——checkBox(史上最全)
6、Winform從入門到精通(6)——radioButton(史上最全)
7、Winform從入門到精通(7)——ComboBox(史上最全)
8、Winform從入門到精通(8)——richTextBox(史上最全)
9、Winform從入門到精通(9)——ListBox(史上最全)
10、Winform從入門到精通(10)——CheckedListBox(史上最全)
11、Winform從入門到精通(11)——numericUpDown(史上最全)
12、Winform從入門到精通(12)——LinkLabel(史上最全)
13、Winform從入門到精通(13)——DateTimePicker(史上最全)
14、Winform從入門到精通(14)——NotifyIcon(史上最全)
15、Winform從入門到精通(15)——contextMenuStrip(史上最全)
16、Winform從入門到精通(16)——Timer(史上最全)
17、Winform從入門到精通(17)——PictureBox(史上最全)
18、Winform從入門到精通(18)——Chart(史上最全)
19、Winform從入門到精通(19)——DataGridView(史上最全)
20、Winform從入門到精通(20)——TableLayoutPanel(史上最全
21、Winform從入門到精通(21)——ProgressBar(史上最全)
22、Winform從入門到精通(22)——Panel(史上最全)
23、Winform從入門到精通(23)——FlowLayoutPanel(史上最全)
24、 Winform從入門到精通(24)——GroupBox(史上最全)
25、Winform從入門到精通(25)——SplitContainer(史上最全)
26、Winform從入門到精通(26)——TabControl(史上最全)
27、Winform從入門到精通(28)——ToolTip(史上最全)
28、Winform從入門到精通(29)——MaskedTextBox(史上最全)
29、Winform從入門到精通(30)——MonthCalendar(史上最全)
30、Winform從入門到精通(31)——TreeView(史上最全)
31、Winform從入門到精通(32)——MenuStrip(史上最全)
32、Winform從入門到精通(33)——OpenFileDialog(史上最全)
33、Winform從入門到精通(34)——SaveFileDialog(史上最全)
34、Winform從入門到精通(35)——FontDialog(史上最全)
35、Winform從入門到精通(36)——ColorDialog(史上最全)
36、Winform從入門到精通(37)——FolderBrowserDialog(史上最全)

下面進入正題:

一、將txt文件的所有內(nèi)容復制到 RichTextBox中

先選中test.txt文件,按下鼠標左鍵,然后按下"ctrl"鍵,拖動文件到form1窗體上
c# 上傳文件控件,winform實戰(zhàn)經(jīng)驗總結(jié),c#,c#,winform,控件,ui
在上圖中可以看到我將text.txt文件的路徑拖到了“文件名列表”中,這樣我可以通過這個文件名將test.txt文件中的內(nèi)容全部讀取到

二、將txt文件的一行內(nèi)容移動到RichTextBox中

先選中”c#軟件工“,然后按下鼠標左鍵,然后按下"shift"鍵,拖動文本到form1窗體上
c# 上傳文件控件,winform實戰(zhàn)經(jīng)驗總結(jié),c#,c#,winform,控件,ui
在上圖中可以看到我將文本”c#軟件工“這幾個字移動到了form1窗體上

三、將多個文件的全路徑復制到 RichTextBox中

先按下ctrl鍵,選中兩個txt文件,然后鼠標拖到form1窗體上
c# 上傳文件控件,winform實戰(zhàn)經(jīng)驗總結(jié),c#,c#,winform,控件,ui
從上圖可以看出,兩個txt文本的路徑都被存到了“文件列表中”。

四 、源碼

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.AllowDrop = true;//允許將數(shù)據(jù)拖放到form1上
            this.DragEnter += RichTextBox1_DragEnter;//注冊對象拖入form1的邊界時發(fā)生
            this.DragDrop += RichTextBox1_DragDrop;//注冊拖放操作完成時發(fā)生
        }

        private void RichTextBox1_DragDrop(object sender, DragEventArgs e)
        {
            try
            {
                richTextBox_Content.Clear();
                richTextBox_DataType.Clear();
                richTextBox_FileList.Clear();
                List<string> fileNames = new List<string>();
                Type t = typeof(DataFormats);
                FieldInfo[] info = t.GetFields();//獲取對象的所有字段
                foreach (FieldInfo item in info)
                {
                    string itemName = item.Name;//獲取字段名稱
                    fileNames.Add(itemName);
                }
          
                foreach (string item in fileNames)//判斷拖入的對象是什么類型,并輸出到richTextBox_DataType中
                {
                    if (e.Data.GetDataPresent(item))
                    {
                        string tempStr = string.Concat(item,"\r\n");
                        richTextBox_DataType.AppendText(tempStr);
                    }
                }
           
                if (e.Data.GetDataPresent(DataFormats.FileDrop))//如果拖入的對象是個文件,則將所有文件路徑輸出到richTextBox_FileList中
                {
                    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
                    foreach (string item in files )
                    {
                        string tempStr = string.Concat(item, "\r\n");
                        richTextBox_FileList.AppendText(tempStr);
                    }
                }
                if (e.Data.GetDataPresent(DataFormats.Text))//如果拖入的對象是個文本,則將文本內(nèi)容輸出到richTextBox_Content中
                {
                    string str = e.Data.GetData(DataFormats.Text).ToString();
                    richTextBox_Content.AppendText(str);
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message );
            }
        }

        private void RichTextBox1_DragEnter(object sender, DragEventArgs e)
        {
            DragDropEffects dragDropEffects = e.AllowedEffect;//獲取拖到事件的發(fā)起方(源)所支持的操作

            if((e.KeyState &8)==8&& (dragDropEffects& DragDropEffects.Copy)== DragDropEffects.Copy )//如果ctrl鍵被按下,并且源支持復制,則復制源到目標
            {
                e.Effect = DragDropEffects.Copy;
            }
            else if((e.KeyState & 4) == 4 && (dragDropEffects & DragDropEffects.Move ) == DragDropEffects.Move)//如果shift鍵被按下,并且源支持移動,則移動源到目標
            {
                e.Effect = DragDropEffects.Move ;
            }
            else
            {
                e.Effect = DragDropEffects.None;//ctrl鍵和shift鍵這兩個鍵都沒有被按下則,拖放目標不接受數(shù)據(jù),DragDrop事件也不會觸發(fā)
            }
        }
    }

老鐵們,以后再遇到這種需要拖文件的場景是不是一點也不慌了?哈哈!如果你也想做到“控件心中過,界面自然成”的境界,請關注我的博客專欄《winform控件從入門到精通》,更多控件的訪問鏈接如下:
點擊鏈接即可轉(zhuǎn)到該控件的詳細介紹:

1、Winform從入門到精通(1)——(如何年入30萬+)

2、Winform從入門到精通(2)——Button(史上最全)

3、Winform從入門到精通(3)——Form(史上最全)

4、Winform從入門到精通(4)——Textbox(史上最全)

5、Winform從入門到精通(5)——checkBox(史上最全)

6、Winform從入門到精通(6)——radioButton(史上最全)

7、Winform從入門到精通(7)——ComboBox(史上最全)

8、Winform從入門到精通(8)——richTextBox(史上最全)

9、Winform從入門到精通(9)——ListBox(史上最全)

10、Winform從入門到精通(10)——CheckedListBox(史上最全)

11、Winform從入門到精通(11)——numericUpDown(史上最全)

12、Winform從入門到精通(12)——LinkLabel(史上最全)

13、Winform從入門到精通(13)——DateTimePicker(史上最全)

14、Winform從入門到精通(14)——NotifyIcon(史上最全)

15、Winform從入門到精通(15)——contextMenuStrip(史上最全)

16、Winform從入門到精通(16)——Timer(史上最全)

17、Winform從入門到精通(17)——PictureBox(史上最全)

18、Winform從入門到精通(18)——Chart(史上最全)

19、Winform從入門到精通(19)——DataGridView(史上最全)

20、Winform從入門到精通(20)——TableLayoutPanel(史上最全

21、Winform從入門到精通(21)——ProgressBar(史上最全)

22、Winform從入門到精通(22)——Panel(史上最全)

23、Winform從入門到精通(23)——FlowLayoutPanel(史上最全)

24、 Winform從入門到精通(24)——GroupBox(史上最全)

25、Winform從入門到精通(25)——SplitContainer(史上最全)

26、Winform從入門到精通(26)——TabControl(史上最全)

27、Winform從入門到精通(27)——Label(史上最全)

28、Winform從入門到精通(28)——ToolTip(史上最全)

29、Winform從入門到精通(29)——MaskedTextBox(史上最全)

30、Winform從入門到精通(30)——MonthCalendar(史上最全)

31、Winform從入門到精通(31)——TreeView(史上最全)

32、Winform從入門到精通(32)——MenuStrip(史上最全)

33、Winform從入門到精通(33)——OpenFileDialog(史上最全)

34、Winform從入門到精通(34)——SaveFileDialog(史上最全)

35、Winform從入門到精通(35)——FontDialog(史上最全)

36、Winform從入門到精通(36)——ColorDialog(史上最全)

37、Winform從入門到精通(37)——FolderBrowserDialog(史上最全)

更多控件持續(xù)更新中文章來源地址http://www.zghlxwxcb.cn/news/detail-702875.html

到了這里,關于手把手教你在winform中將文本或文件路徑拖到控件中的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 手把手教你在Docker中安裝Nginx(圖文超詳細)

    手把手教你在Docker中安裝Nginx(圖文超詳細)

    本文介紹如何在 Windows Docker Desktop 平臺安裝 Nginx 容器(Linux 平臺同樣適用),并詳細講解如何配置 Nginx ,實現(xiàn) HTTP 請求在后端服務器集群間的負載均衡。 訪問 dockerhub 查找所需的鏡像版本: 這里我選擇 1.24.0 版,執(zhí)行如下命令: 命令執(zhí)行結(jié)果: 隨后,我們第一次運行鏡像,

    2024年03月16日
    瀏覽(30)
  • 【最新】手把手教你在VMware中安裝Ubuntu虛擬機

    【最新】手把手教你在VMware中安裝Ubuntu虛擬機

    前言 前段時間卸載了Ubuntu雙系統(tǒng),但是發(fā)現(xiàn)還是需要使用Ubuntu,遂決定在虛擬機中裝一個Ubuntu系統(tǒng)。 已經(jīng)裝有VMware的可以忽略此步。 (1)點擊VMware官網(wǎng)下載VMware。 (2)使用Windows系統(tǒng)的點擊紅色方框處進行下載。 這是筆者下載好的Windows系統(tǒng)使用的VMware17.0.0 VMware17.0.0百度云

    2024年03月28日
    瀏覽(31)
  • 9個步驟,手把手教你在Windows上安裝Hadoop

    9個步驟,手把手教你在Windows上安裝Hadoop

    在Windows上安裝Hadoop時經(jīng)常會出現(xiàn)許多錯誤,很多用戶使用基于Linux的操作系統(tǒng)。本文詳細講述如何在Windows上安裝和運行Apache Hadoop,如果遇到了問題,可以參考文章中的步驟進行解決。 微信搜索關注《Java學研大本營》 在 Microsoft Windows 上運行 Apache Hadoop 是比較繁瑣的任務,在

    2024年02月08日
    瀏覽(23)
  • 手把手教你在windows使用Docker搭建Minio[詳細教程]

    手把手教你在windows使用Docker搭建Minio[詳細教程]

    目錄 1什么是Minio 2安裝Docker 3Docker搭建Minio 4.創(chuàng)建Minio容器并運行 5.進行訪問 6安裝可能出現(xiàn)的問題 ????????MinIO是一個基于開源的對象存儲服務器,MinIO的設計目標是提供高性能、高可用性和高可靠性的對象存儲服務。MinIO可以作為一個獨立的對象存儲服務,也可以在Kuber

    2024年02月12日
    瀏覽(34)
  • 新手教程科普,手把手教你在bitget walelt用Uniswap

    新手教程科普,手把手教你在bitget walelt用Uniswap

    Uniswap 是以太坊區(qū)塊鏈上領先的去中心化交易所 (DEX),允許用戶交換和交易各種加密貨幣。 Uniswap 于 2018 年 11 月推出,是以太坊最早的 DApp 之一。目前有四個版本;其中V1、V2、V3都有開源代碼庫。 與 Coinbase 或 Binance 等傳統(tǒng)中心化交易所 (CEX) 不同,Uniswap 不受任何單一實體控

    2024年03月20日
    瀏覽(21)
  • 手把手教你在 Windows 環(huán)境中搭建 MQTT 服務器

    手把手教你在 Windows 環(huán)境中搭建 MQTT 服務器

    前些天要對接一家硬件商的設備數(shù)據(jù),對方使用的 MQTT 協(xié)議點對點透傳,所以又趕緊搭建 MQTT 服務器,寫 .NET 程序接收數(shù)據(jù)等等,今天分享一下如何搭建 MQTT 服務器。 MQTT(Message Queuing Telemetry Transport)是一種輕量級的、基于發(fā)布/訂閱模式的通信協(xié)議,專門設計用于在低帶寬

    2024年02月03日
    瀏覽(34)
  • 【運維】手把手教你在windows使用Docker搭建Minio[詳細教程]

    【運維】手把手教你在windows使用Docker搭建Minio[詳細教程]

    目錄 1什么是Minio 2安裝Docker 3Docker搭建Minio 4.創(chuàng)建Minio容器并運行 5.進行訪問 6安裝可能出現(xiàn)的問題 ????????MinIO是一個基于開源的對象存儲服務器,MinIO的設計目標是提供高性能、高可用性和高可靠性的對象存儲服務。MinIO可以作為一個獨立的對象存儲服務,也可以在Kuber

    2024年02月06日
    瀏覽(36)
  • 手把手教你在云環(huán)境煉丹(部署Stable Diffusion WebUI)

    手把手教你在云環(huán)境煉丹(部署Stable Diffusion WebUI)

    前幾天寫了一篇《 手把手教你在本機安裝Stable Diffusion秋葉整合包 》的文章,有些同學反映對硬件的要求太高,顯卡太TM貴了。今天我再分享一個云服務器煉丹的方法,方便大家快速入門上手,這個云服務不需要特殊網(wǎng)絡設置,能連接公網(wǎng)網(wǎng)盤,隨開隨用,有3090顯卡,也有

    2024年02月15日
    瀏覽(24)
  • 手把手教你在linux環(huán)境下更換python的pip源

    手把手教你在linux環(huán)境下更換python的pip源

    搞python的肯定離不開各種各樣的第三方包,比如爬蟲,有requests,xpath,爬蟲界的扛把子Scrapy;Web有django,flask,restframework啥的,還是挺多的,我們一般安裝的方式都是pip install xx模塊,但是我相信,你們肯定都遇到過這種情況。 如果我們從默認的 https://pypi.org/ 安裝的過程非

    2024年02月12日
    瀏覽(30)
  • 手把手教你在linux中部署hadoop以及hadoop功能介紹

    手把手教你在linux中部署hadoop以及hadoop功能介紹

    我們在學大數(shù)據(jù)的時候hadoop是躲避不開的地方,所以如何在linux中部署hadoop,下面就是手把手教你如何部署hadoop。你只要復制粘體,然后按enter鍵就可以了。 準備: ? 安裝Linux版本的服務器??梢詤⒖贾星鞍氩糠职惭b服務器的內(nèi)容即可:VM部署CentOS并且設置網(wǎng)絡_ZeroMaster的博客

    2024年02月03日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包