關(guān)于VScrollBar控制FlowLayoutPanel的滾動

認(rèn)知尚淺,如有錯誤,愿聞其詳!

概述

??最近在做自定義控件的時候,為了解決一個問題:使用一個外部ScrollBar去控制一個具有滾動效果的控件滾動。如下:


滑條控制帶滑條的FlowLayoutPanel滾動.png

(也不曉得我咋來的騷操作)
后來源于對控件屬性不太了解,走了很多彎路。想過用VScrollBar去控制控制控件滾動幅度,沒能做出來,后來想著直接去控制控件的滑條,也就有了下面的方法。

解決

首先我們了解Scroll的兩個屬性,LargeChangeSmallChange,如下,微軟文檔的解釋:

LargeChange And SmallChange.png

實(shí)現(xiàn)

      //首先需要修改一下flowLayoutPanel的高度,這樣才能回去并賦值以下參數(shù),
      flowLayoutPanel.Height = panel.Height;
      //通過外部VScrollBar 的Maximum 、SmallChange、LargeChange 
      //與控件的Scroll控件的相應(yīng)參數(shù)值一致
      scrollControl.Maximum = flowLayoutPanel.VerticalScroll.Maximum;
      scrollControl.SmallChange = flowLayoutPanel.VerticalScroll.SmallChange;
      scrollControl.LargeChange = flowLayoutPanel.VerticalScroll.LargeChange;

這樣就實(shí)現(xiàn)了,不過其中也會有BUG,就是通過將外部VScrollBar的Value賦值給控件的Scroll的Value時,會出現(xiàn)第一次VScrollBar的Value = 10,賦值給控件的Scroll時卻沒賦上,下一次再賦值才會賦值上,但是界面卻滾動了,很迷。

效果

實(shí)現(xiàn)控制.gif
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱,在應(yīng)用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調(diào)閱讀 4,782評論 0 11
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,329評論 0 17
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,656評論 1 32
  • day01-_起源和結(jié)構(gòu) 結(jié)構(gòu):Xhtml xml 表現(xiàn):CSS 行為:DOM ECMAScript 以上都屬于W...
    Sakura_明妃閱讀 1,327評論 0 1
  • 周二休息,本打算早上六點(diǎn)半起床,去走綠道的,醒來之后,感覺太累了,因?yàn)橹星锕淞艘惶?,所以就決定不去,繼續(xù)回去睡覺。...
    櫻桃Cheery閱讀 446評論 0 0

友情鏈接更多精彩內(nèi)容