1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      C#兩個richtextbox控件滾動條同步滾動的兩種方法

      這篇文章主要為大家詳細介紹了C#兩個richtextbox控件滾動條同步滾動的兩種方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

      讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:空間域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、云城網(wǎng)站維護、網(wǎng)站推廣。

      前言

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

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

      方法如下:

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

      C#兩個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;
          }

      第二個方法,快速轉(zhuǎn)到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的鼠標對應(yīng)行號。然后

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

      滾動條一起滾動;

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

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

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

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

      關(guān)于C#兩個richtextbox控件滾動條同步滾動的兩種方法就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。


      網(wǎng)站欄目:C#兩個richtextbox控件滾動條同步滾動的兩種方法
      網(wǎng)站網(wǎng)址:http://ef60e0e.cn/article/poephj.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        天等县| 昌宁县| 乃东县| 库伦旗| 武宁县| 江口县| 河池市| 鄂托克旗| 莆田市| 洱源县| 敦化市| 凭祥市| 卢龙县| 巴中市| 黄骅市| 商丘市| 枣阳市| 炉霍县| 胶南市| 正宁县| 左权县| 咸阳市| 宝丰县| 开封市| 太原市| 寻乌县| 祥云县| 铜梁县| 疏附县| 枣强县| 桐梓县| 沂源县| 东海县| 耒阳市| 仁寿县| 江都市| 开鲁县| 石河子市| 邻水| 湟中县| 左贡县|