最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)兩個richtextbox控件滾動條同步滾動的簡單方法

 更新時間:2017年05月20日 14:45:08   作者:魯廣廣  
這篇文章主要給大家介紹了C#實現(xiàn)兩個richtextbox控件滾動條同步滾動的簡單方法,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。

前言

有時候我們需要實現(xiàn)對照文章等,往往將文本放到兩個richtextbox控件中,但是,如果我們需要同步滾動查看,來達到更好的觀看效果。

當然,傳統(tǒng)的方法重載控件或者自定義控件都可以達到目的,但是對于新手或者想僅僅只用一次這個控件的人來說,是非常麻煩的。所以,接下來我來提供一種簡單快捷的方法來實現(xiàn):richtextbox滾動條同步的功能。

方法如下:

首先,我們在winform窗體創(chuàng)建兩個richtextbox控件

下面介紹兩個方法,我經(jīng)常用到

第一個方法,獲得當前鼠標所在richtextbox控件中的行號

private int GetLineNoVscroll(RichTextBox rtb)
    {
      //獲得當前坐標信息
      Point p = rtb.Location;
      int crntFirstIndex = rtb.GetCharIndexFromPosition(p);
      int crntFirstLine = rtb.GetLineFromCharIndex(crntFirstIndex);
      return crntFirstLine;
    }

第二個方法,快速轉到richtextbox控件中某行

private void TrunRowsId(int iCodeRowsID, RichTextBox rtb)
    {
      try
      {
        rtb.SelectionStart = rtb.GetFirstCharIndexFromLine(iCodeRowsID);
        rtb.SelectionLength = 0;
        rtb.ScrollToCaret();
      }
      catch
      {

      }
    }

有了這兩個方法,我們就可以實現(xiàn)滾動條同步的功能了。

思路如下:第一,當richtextbox1滾動時,通過GetLineNoVscroll方法,獲得richtextbox1的鼠標對應行號。然后

通過TrunRowsId方法,將獲得的richtexbox1的行號定位到richtextbox2中,從而達到richtextbox2跟著richtexbox1

滾動條一起滾動;

在richTextBox1的VScroll事件中添加如下代碼,注意,我這里有個?,代表某個偏移量,可能因為布局原因(如控件大小等)

導致兩個richtextbox不同步,一般寫0就可以了,如果差距過大,自行調整數(shù)值。

     private void richTextBox1_VScroll(object sender, EventArgs e)
     {
      int crntLastLine= GetLineNoVscroll(richTextBox1, panel1)-?;
       TrunRowsId(crntLastLine, richTextBox2);
     }

最后,實現(xiàn)了兩個滾動條同步滾動

總結

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • c# socket心跳超時檢測的思路(適用于超大量TCP連接情況下)

    c# socket心跳超時檢測的思路(適用于超大量TCP連接情況下)

    這篇文章主要介紹了c# socket心跳超時檢測的思路(適用于超大量TCP連接情況下),幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • 詳解WCF服務中的svc文件

    詳解WCF服務中的svc文件

    本文詳細講解了WCF服務中的svc文件,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 如何在C#中使用注冊表

    如何在C#中使用注冊表

    這篇文章主要介紹了如何在C# 使用注冊表,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12
  • 深入理解C#中的擴展方法

    深入理解C#中的擴展方法

    下面這篇文章主要給大家介紹了關于c#中擴展方法的相關資料,文中通過示例代碼介紹的非常詳細,供大家學習參考,感興趣的朋友可以了解下
    2020-06-06
  • C#中的Internal關鍵字小結

    C#中的Internal關鍵字小結

    這篇文章主要介紹了C#中的Internal關鍵字小結的相關資料,需要的朋友可以參考下
    2017-05-05
  • 在Unity中使用全局變量的操作

    在Unity中使用全局變量的操作

    這篇文章主要介紹了在Unity中使用全局變量的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • vs2019 實現(xiàn)C#調用c++的dll兩種方法

    vs2019 實現(xiàn)C#調用c++的dll兩種方法

    這篇文章主要介紹了vs2019 實現(xiàn)C#調用c++的dll兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 基于c#用Socket做一個局域網(wǎng)聊天工具

    基于c#用Socket做一個局域網(wǎng)聊天工具

    目前基于Internet的即時聊天工具已經(jīng)做的非常完美,本文介紹了基于c#用Socket做一個局域網(wǎng)聊天工具,有需要的朋友可以看一下。
    2016-10-10
  • C# 靜態(tài)變量與靜態(tài)方法實例研究

    C# 靜態(tài)變量與靜態(tài)方法實例研究

    寫了一個翻譯英漢單詞辭典的小程序,發(fā)現(xiàn)在調用幾千次的時候速度很慢
    2011-11-11
  • C#關機小程序源碼

    C#關機小程序源碼

    這是用所學習的C#做的一個關機小程序,功能不多,只是為了練手,需要的朋友可以參考下
    2012-10-10

最新評論

景德镇市| 双牌县| 甘德县| 黄浦区| 嘉定区| 平泉县| 钦州市| 博兴县| 古丈县| 阿尔山市| 丰县| 英吉沙县| 云南省| 昂仁县| 镇雄县| 沂源县| 普兰店市| 扎鲁特旗| 平南县| 沂水县| 八宿县| 泊头市| 清流县| 牙克石市| 木兰县| 文昌市| 旬邑县| 城固县| 峨山| 白城市| 泸溪县| 定安县| 政和县| 安徽省| 丹江口市| 英超| 北辰区| 南昌县| 怀远县| 凤山县| 太原市|