C#開發的自定義Panel滾動分頁控件 - 開源研究系列文章

?????? 前些時候因為想擁有一個自己的軟件快捷打開軟件,于是參考Windows 11的開始菜單,進行了編寫這個應用軟件,里面有一個功能就是對顯示的Panel里的應用對象的分頁功能,于是就想寫一個對Panel的自定義滾動條控件。

?????? 下面開始介紹此控件的功能。

  1、 項目目錄;

?  

  2、 源碼介紹;

  1) 控件代碼;

  先計算能顯示的頁數顯示:

?  

?????? 讓頁數能夠點擊切換:

??????

  2) 應用代碼;

  添加滾動條控件:

?  

?????? Panel的鼠標滾動響應事件:

??????

  加載需要的控件到Panel里:

??????

  3、 運行界面;

  該控件顯示在Panel的右邊,以點的形式顯示分頁:

?  

  4、 使用介紹;

  1) 將控件類庫引用到UI項目中;(主要是PanelScrollPage目錄下的控件文件)

  2) 在UI窗體里添加下列代碼:

    (1)??? 復制此例子項目中的“私有變量”、“自定義函數”、“PanelCtl_MouseWheel”項到窗體里;

    (2)??? 在窗體的代碼里添加:

    (2.1)在窗體的構造函數里添加:this.PanelCtl.MouseWheel += PanelCtl_MouseWheel;

    (2.2)在窗體的Load事件中添加Add此自定義滾動條控件的代碼;

    (2.3)修改AddApp2Display函數往Panel里添加控件,并根據Panel里的控件的大小進行修改控件的高、寬,以及Top、Left里的100為高、寬;

    (2.4)修改LoadApps里的70這個數字,用一個變量來替代,用來顯示當前添加的控件總數;修改_TotalPage計算的那個32為一頁能放的多少個控件;

  注:如果有刪除Panel里的控件的,則需要在刪除后調用一下LoadApps函數。?

  5、 源碼下載;

  https://download.csdn.net/download/lzhdim/90671114

  6、 其它建議;

  這個例子是筆者編寫應用的時候剝離出來的,放上來分享給讀者,請需要的讀者自己復用此代碼。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/903349.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/903349.shtml
英文地址,請注明出處:http://en.pswp.cn/news/903349.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【基礎篇】prometheus命令行參數詳解

文章目錄 本篇內容講解命令行參數詳解 本篇內容講解 prometheus高頻修改命令行參數詳解 命令行參數詳解 在頁面的/頁面上能看到所有的命令行參數&#xff0c;如圖所示&#xff1a; 使用shell命令查看 # ./prometheus --help usage: prometheus [<flags>]The Promethe…

深入理解CSS3:Flex/Grid布局、動畫與媒體查詢實戰指南

引言 在現代Web開發中&#xff0c;CSS3已經成為構建響應式、美觀且高性能網站的核心技術。它不僅提供了更強大的布局系統&#xff08;Flexbox和Grid&#xff09;&#xff0c;還引入了令人驚艷的動畫效果和精準的媒體查詢能力。本文將深入探討這些關鍵技術&#xff0c;幫助您提…

從線性到非線性:簡單聊聊神經網絡的常見三大激活函數

大家好&#xff0c;我是沛哥兒&#xff0c;我們今天一起來學習下神經網絡的三個常用的激活函數。 引言&#xff1a;什么是激活函數 激活函數是神經網絡中非常重要的組成部分&#xff0c;它引入了非線性因素&#xff0c;使得神經網絡能夠學習和表示復雜的函數關系。 在神經網絡…

2025上海車展 | 移遠通信重磅發布AR腳踢毫米波雷達,重新定義“無接觸交互”尾門

4月25日&#xff0c;在2025上海國際汽車工業展覽會期間&#xff0c;全球領先的物聯網和車聯網整體解決方案供應商移遠通信宣布&#xff0c;其全新AR腳踢毫米波雷達RD7702AC正式發布。 該產品專為汽車尾門“無接觸交互”設計&#xff0c;基于先進的毫米波技術&#xff0c;融合AR…

深度學習:遷移學習

遷移學習 標題1.什么是遷移學習 遷移學習(Transfer Learning)是一種機器學習方法&#xff0c;就是把為任務 A 開發 的模型作為初始點&#xff0c;重新使用在為任務 B 開發模型的過程中。遷移學習是通過 從已學習的相關任務中轉移知識來改進學習的新任務&#xff0c;雖然大多數…

Rabbitmq下載和安裝(Windows系統,百度網盤)

一.下載安裝Erlang 1.百度云下載 鏈接&#xff1a;https://pan.baidu.com/s/1k_U25KKngEf1iXWD1ANOeg 提取碼&#xff1a;8ilc 2.安裝 傻瓜式安裝 直接下一步 選擇自己要安裝的路徑 3.配置環境變量 增加變量名為&#xff1a;ERLANG_HOME 變量值填寫自己的安裝路徑&#x…

(一)Linux的歷史與環境搭建

【知識預告】 Linux背景介紹Linux操作系統特性Linux的應用場景Linux的發行版本搭建Linux環境 1 Linux背景介紹 1.1 什么是Linux&#xff1f; Linux是一種自由、開源的操作系統。嚴格來說&#xff0c;它是基于類Unix設計思想&#xff0c;旨在為用戶提供穩定、安全、高效的計…

光流法:從傳統方法到深度學習方法

1 光流法簡介 光流&#xff08;Optical Flow&#xff09;是指圖像中像素灰度值隨時間的變化而產生的運動場。 簡單來說&#xff0c;它描述了圖像中每個像素點的運動速度和方向。 光流法是一種通過分析圖像序列中像素灰度值來計算光流的方法。對于圖像數據計算出來的光流是一個二…

解決ssh拉取服務器數據,要多次輸入密碼的問題

問題在于&#xff0c;每次循環調用 rsync 都是新開一個連接&#xff0c;所以每次都需要輸入一次密碼。為了只輸入一次密碼&#xff0c;有以下幾種方式可以解決&#xff1a; ? 推薦方案&#xff1a;設置 SSH 免密登錄 最穩最安全的方式是&#xff1a;配置 SSH 免密登錄&#x…

web技術與Nginx網站服務

目錄 一. web基礎 1. 域名概念 2. Hosts 文件 3. DNS 4. 域名注冊 5. 網頁與 HTML 二. 網頁概述 1. HTML 概述 2. HTML 基本標簽 3. 網站和主頁 三. 靜態網頁與動態網頁 1. 靜態網頁 2. 動態網頁 3. 動態網頁語言 四. HTTP 協議 1. HTTP 協議概述 2. HTTP …

信創系統資產清單采集腳本:主機名+IP+MAC 一鍵生成 CSV

原文鏈接&#xff1a;信創系統資產清單采集腳本&#xff1a;主機名IPMAC 一鍵生成 CSV Hello&#xff0c;大家好啊&#xff01;今天給大家帶來一篇在信創終端操作系統上自動批量采集主機名、IP 和 MAC 并導出為 CSV 表格的實戰文章&#xff01;本方案使用 sshpass 和 Bash 腳本…

【dify+docker安裝教程】

目錄 一、dify安裝包下載 二、運行環境配置 1、下載docker 2、安裝 2.1 新建文件夾 2.2 安裝 2.3 命令安裝 3.下載完成后需要重啟電腦&#xff0c;注意保存文檔&#xff01;&#xff01;注意保存&#xff01;&#xff01;注意&#xff01;&#xff01;&#xff08;血的教…

HTML 地理定位(Geolocation)教程

HTML 地理定位(Geolocation)教程 簡介 HTML5 的 Geolocation API 允許網頁應用獲取用戶的地理位置信息。這個功能可用于提供基于位置的服務&#xff0c;如導航、本地搜索、天氣預報等。本教程將詳細介紹如何在網頁中實現地理定位功能。 工作原理 瀏覽器可以通過多種方式確定…

協作開發攻略:Git全面使用指南 — 引言

協作開發攻略&#xff1a;Git全面使用指南 — 引言 Git 是一種分布式版本控制系統&#xff0c;用于跟蹤文件和目錄的變更。它能幫助開發者有效管理代碼版本&#xff0c;支持多人協作開發&#xff0c;方便代碼合并與沖突解決&#xff0c;廣泛應用于軟件開發領域。 文中內容僅限技…

畢業設計-基于預訓練語言模型與深度神經網絡的Web入侵檢測系統

項目技術說明 基于預訓練語言模型與深度神經網絡的Web入侵檢測系統&#xff0c;通過預訓練模型CodeBert分詞&#xff0c;將分詞輸入給BiGRU的深度學習模型訓練。通過sniff函數實時捕獲http流量信息&#xff0c;將流量信息輸入給模型進行檢測&#xff0c;模型可以檢測的類別有S…

[計算機科學#4]:二進制如何塑造數字世界(0和1的力量)

【核知坊】&#xff1a;釋放青春想象&#xff0c;碼動全新視野。 我們希望使用精簡的信息傳達知識的骨架&#xff0c;啟發創造者開啟創造之路&#xff01;&#xff01;&#xff01; 內容摘要&#xff1a; 二進制是計算機世界的基石&#xff0c;數學是世界的…

JUC中各種鎖機制的應用和原理及死鎖問題定位

JUC中各種鎖機制的應用和原理及死鎖問題定位 在互聯網大廠Java求職者的面試中&#xff0c;經常會被問到關于JUC&#xff08;Java Util Concurrency&#xff09;中的各種鎖機制及其應用和原理的問題。本文通過一個故事場景來展示這些問題的實際解決方案。 第一輪提問 面試官&…

配置Ubuntu18.04中的Qt Creator為中文(圖文詳解)

配置Qt Creator為中文 1、前言2、先設置Ubuntu系統語言為中文3、配置Qt Creator中文環境2.1 IBus輸入法&#xff08;方法一&#xff09;2.2、測試IBus輸入法2.21IBus輸入法終端中測試2.2.2IBus輸入法Qt Creator中測試 2.3、Fcitx輸入法&#xff08;方法二&#xff09;2.3.1安裝…

高性能服務器配置經驗指南3——安裝服務器可能遇到的問題及解決方法

文章目錄 1、重裝系統后VScode遠程連接失敗問題2、XRDP連接黑屏問題1. 打開文件2. 添加配置3. 重啟xrdp服務 3、VScode遠程免密連接問題4、Vim編輯文件時出現不同用戶沖突編輯的問題 在完成 服務器基本配置和 深度學習環境準備后&#xff0c;大家應該就可以正常使用服務器了&…

PyQt6基礎_QThread

目錄 前置 代碼&#xff1a; 運行 正常運行 QThread運行報錯 視頻 前置 1 PySide6.QtCore.QThread - Qt for Python QThread官方文檔 2 長時間任務可以放到QThread中執行&#xff0c;避免占用主線程導致界面卡頓無法操作 代碼&#xff1a; import traceback,sys fro…