第二階段WinForm-12:UI控件庫

1_驗證碼與條形碼

1.1_條碼基礎知識

條碼:條碼是由一組按一定編碼規則排列的條、空符號組成,用以表示一定的字符、數字及符號組成的信息

1.2_一維碼

(1)Code 128

Code 128 是一種密度很高的字母數字代碼系統,可對其進行雙向掃描。此代碼系統可編碼整個 128 ASCII 字符集以及四個非數據字符。采用 Code 128 代碼系統的符號使用 11 個黑色或白色模塊編碼每個字符,并且每個符號包含一個校驗和字符。

(2)UPC/EAN

UPC 是一種固定長度的純數字代碼系統,可對其進行雙向掃描。UPC 符號的大小可變以適應各種打印流程,但代碼在符號的高度大于其寬度時效果最佳。歐洲公司使用大體相當的 European Article Numbering (EAN) 系統

(3)Code 39

Code 39(也稱為 USS Code 39 或 Code three of nine)是一種廣泛使用的代碼系統,專門針對非零售環境應用,可編碼字母、數字以及“%”和“/”等特殊字符。使用 Code 39 代碼系統的符號使用 5 個條碼和 4 個空格(共計 9 個元素)來編碼每個字符,并且 9 個元素中有 3 個始終為寬。此符號可包含用于進行錯誤檢測的校驗和字符

(4) Code 93

Code 93 所解碼的字符與 Code 39 相同,但每個字符使用 9 個條碼元素,而非 15 個

(5)Codabar

Codabar 是一種用于編碼數字的較舊代碼系統。

(6)Pharmacode

Pharmacode 在制藥工業中用作包裝控制系統。

(7)PDF417

PDF417 是堆疊的線性條碼符號格式,主要用于包括運輸、身份證和庫存管理在內的多種應用。

(8)EAN.UCC Composite

啟用此系統時,可解碼復合代碼(具有二維分量的一維代碼)。可與 EAN.UCC 一起使用的一維代碼包括 GS1 DataBar 和 Code 128。

(9)POSTNET

郵政數字編碼技術 (POSTNET) 條碼由美國郵政局發明,用來編碼 ZIP 代碼信息。采用 POSTNET 代碼系統的條碼使用 5 個長短不同的條碼組合來編碼每個數字字符。POSTNET 條碼可包含 5 位數 ZIP 代碼、5 位數 ZIP + 4 代碼或 11 位數交貨地點代碼。此符號始終包含校驗和字符。

(10)PLANET

PLANET 條碼是 POSTNET 條碼的逆反版本,在 POSTNET 代碼系統使用長條碼的地方使用短條碼,在 POSTNET 代碼系統使用短條碼的地方使用長條碼。美國郵政局使用 PLANET 條碼來跟蹤郵件。一個 PLANET 條碼最多可有 12 位。

(11)4-State Postal

4-State 是由澳大利亞郵政局采用的字母數字代碼系統。采用 4-State 代碼系統的條碼使用 4 個不同類的條碼來編碼每個字符,其中每個條碼都有不同的名字和值。4-State 條碼可采用以下三個不同結構中的一個來生成:37 個條碼(標準)、52 個條碼或 67 個條碼。Barcode 工具支持 4-State 代碼系統的 Australian、JapanPost、UPU 和 USPS 版本。

1.3_二維碼

(1)二維碼(2-Dimensional Bar Code),是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的。它是指在一維條碼的基礎上擴展出另一維具有可讀性的條碼,使用黑白矩形圖案表示二進制數據,被設備掃描后可獲取其中所包含的信息。一維條碼的寬度記載著數據,而其長度沒有記載數據。二維條碼的長度、寬度均記載著數據。二維條碼有一維條碼沒有的“定位點”和“容錯機制”。容錯機制在即使沒有辨識到全部的條碼、或是說條碼有污損時,也可以正確地還原條碼上的信息。

(2)類別:二維條碼的種類很多,不同的機構開發出的二維條碼具有不同的結構以及編寫、讀取方法。常見的二維碼有:PDF417碼、QR碼、漢信碼、顏色條碼、quick mark code、data matrix

????????????????????????????????

(3)定位標記:二維條碼通常有特定的定位標記(如QR碼為三個大的定位點),通過定位標記使讀碼機正確辨識進行解讀,所以二維條碼不管是從何種方向讀取都可以被辨識。

(4)特性:二維條碼比一維條碼記載數據量更多。而且可以記載更復雜的數據,比如圖片鏈接、網絡鏈接等。


1.4_代碼

(1)驗證碼:C#使用GDI+實現生成驗證碼_C#教程_腳本之家

(2)條形碼:BarCode條形碼基于C# GDI+ 的實現方法詳解_C#教程_腳本之家;

C# GDI+實現BarCode條形碼 - soliang - 博客園

2_WinForm UI控件庫

2.1_Sunny UI

(1)SunnyUI 是一款基于 .NET 的 C# WinForm 開源控件庫,它不僅提供了豐富的界面控件,還包含了工具類庫、擴展類庫以及多頁面開發框架,致力于幫助開發者快速構建現代化、美觀且功能強大的 Windows 桌面應用程序。

(2)核心表

特性維度說明
開發基礎基于 .NET Framework 4.0+、.NET Core 3.1、.NET 5、.NET 6, 7, 8 等
界面風格扁平化(參考 Element、DotNetBar 設計風格)
開源協議GPL-3.0
控件數量提供超過 70 個 常用控件
主題支持內置 11 種 Element 風格主題3 種 DotNetBar 主題以及其他主題,支持自定義
國際化支持多語言(默認中文)
觸屏優化專為觸摸操作進行了優化

(3)主要特點

  • 豐富的控件庫:提供了大量重寫的 WinForm 控件,如按鈕、文本框、下拉框、數據表格、樹形視圖、選項卡、導航欄等,還有工業儀表控件(如儀表盤、溫度計等)和數據圖表控件(如折線圖、餅圖、柱狀圖等),滿足各種業務場景。

  • 強大的主題與樣式系統:內置了多達11種以上的 Element 風格主題以及其他主題,你可以通過 UIStyleManager 組件輕松切換全局主題或為單個控件設置樣式,并且支持自定義主題顏色

  • 多頁面應用開發框架:提供了一套類似 Web 開發中單頁應用(SPA)的多頁面框架,可以非常方便地在一個窗體內容區域內動態加載和切換多個頁面(UIPage),簡化復雜應用的開發。

  • 國際化與本地化支持:控件默認使用中文,同時提供了多語言接口(如 UILocalize 類),可以方便地將界面切換為英文等其他語言,適合開發面向國際市場的應用。

  • 字體圖標集成:集成了 FontAwesomeElegantIcons 兩套流行的字體圖標庫,開發者可以直接在控件中使用這些矢量圖標,無需到處尋找圖片資源,使得界面更加精簡和專業。

  • 性能優化:控件庫在開發過程中注重性能,力求在提供豐富視覺效果的同時保證應用的流暢運行。

(4)使用:

  • 通過 NuGet 安裝(推薦)在 NuGet 包管理器中搜索 "SunnyUI" 并安裝。

  • 手動引用 DLL:從項目的發布頁面(如 Gitee 或 GitHub)下載編譯好的 DLL 文件,然后在你的項目中添加引用。(注意引用的時候VS2022有bug,會卡死,需要不斷點擊)

  • 引用源碼項目:如果你希望深入了解或進行自定義修改,可以克隆或下載源碼,然后將其作為項目直接添加到你的解決方案中引用。(已下載:D:\上位機\擴展\SunnyUI)

(5)官方資源地址

  • Gitee(碼云)主頁(主要倉庫):https://gitee.com/yhuse/SunnyUI

  • GitHub 主頁:GitHub - yhuse/SunnyUI: SunnyUI.NET 是基于.NET Framework 4.0+、.NET6、.NET8、.NET9 框架的 C# WinForm UI、開源控件庫、工具類庫、擴展類庫、多頁面開發框架。

  • 官方文檔和Wiki:[文檔預覽 - Gitee.com] (詳細的安裝指南、控件使用說明和示例)

2.2_HZHControls

(1)HZHControls 是一個基于 .NET Framework 4.0(也支持更高版本)的 C# WinForms 開源控件庫。它致力于提供美觀、現代化且觸屏友好的用戶界面組件,讓你能快速構建出具有 Web 風格和扁平化設計感的桌面應用程序。

(2)核心表

特性維度說明
開發基礎基于 .NET Framework 4.0+,完全原生開發,不依賴第三方控件
界面風格扁平化類Web風格,追求美觀與現代感
觸屏支持優化了對觸屏的操作支持,適合在觸摸設備上使用
授權方式個人學習免費商業應用需授權(價格相對較低)
開源協議基于 GPL-3.0 協議
技術支持提供幫助文檔、技術支持,有官方交流社區(如QQ群)

(3)主要特點

  • 豐富多樣的控件集合:提供了200多個控件、窗體和組件,涵蓋了常規開發中的大多數場景(如各種按鈕、表單控件、導航、列表、表格等),甚至還包含了許多工業風格的控件(如儀表盤、管道、閥門、警燈、傳送帶等),這對于開發工業自動化、MES系統等尤為有用。

  • 美觀的界面與圖表功能:控件UI參考了Web設計,扁平化風格,視覺效果出色。同時內置了多種數據圖表(如柱狀圖、餅圖、折線圖、雷達圖等),滿足數據可視化需求。

  • 開源與靈活性:控件庫完全開源,你可以根據項目需要自由修改和擴展控件。

  • 良好的觸屏體驗:對觸摸操作進行了特別優化,使得在觸摸屏設備上也能有流暢自然的操作體驗。

(4)使用

  • 通過 NuGet 安裝(較方便):在 NuGet 包管理器中搜索 HZHControls 并安裝。這是比較推薦的方式,方便管理和更新。

  • 引用源碼項目:下載源代碼后,將 HZH_Controls.csproj 項目文件直接添加到你的解決方案中,然后在你的項目中添加對該項目引用。這種方式方便你閱讀和調試源碼。(D:\上位機\擴展\hzh-controls)

  • 引用編譯后的 DLL:先編譯控件庫源碼生成 DLL 文件,然后在你的項目中直接添加對該 DLL 文件的引用。

(5)官方地址

  • Gitee 碼云源碼地址: https://gitee.com/kwwwvagaa/net_winform_custom_control

  • 官方網址: HZHControls官網|完全開源|.net framework4.0|類Layui控件|自定義控件|技術交流|WinFrom控件庫|鄭州多葉草科技有限公司 (提供說明文檔及源碼下載)

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

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

相關文章

別再誤會了!Redis 6.0 的多線程,和你想象的完全不一樣

技術解析核心誤區:Redis 6.0是完全多線程的嗎?No. Redis 6.0引入的多線程,只用于網絡I/O的讀寫和數據的解析。而核心的命令執行(比如 GET, SET, HGETALL 等)依然是單線程的。Redis的架構演進,就像是把一個復…

23種設計模式——抽象工廠模式(Abstract Factory Pattern)詳解

?作者簡介:大家好,我是 Meteors., 向往著更加簡潔高效的代碼寫法與編程方式,持續分享Java技術內容。 🍎個人主頁:Meteors.的博客 💞當前專欄:設計模式 ?特色專欄:知識分享 &#x…

本地部署開源數據生成器項目實戰指南

本地部署開源數據生成器項目實戰指南 前言 在當今大數據和人工智能時代,高質量數據集對于模型訓練和算法開發至關重要。然而,獲取真實且合規的數據集往往面臨隱私、成本和法律等多重挑戰。合成數據生成技術為此提供了優雅的解決方案,它能夠…

2025React面試題集錦

1. React 是什么?它有哪些主要特點? React 是由Facebook開發的開源JavaScript庫,用于構建用戶界面(UI),尤其適合開發復雜的單頁應用(SPA)。 主要特點: 聲明式編程:只需描述UI應該是什么樣子(如return <div>Hello</div>),React會自動處理DOM更新,無需…

設計模式:迭代器模式(Iterator Pattern)

文章目錄一、概念二、實例分析三、示例代碼一、概念 迭代器模式 是一種 行為型設計模式&#xff0c;用于在不暴露集合對象內部結構的前提下&#xff0c;順序訪問集合中的元素。 換句話說&#xff1a; 集合類只負責數據存儲&#xff1b;迭代器類負責遍歷集合&#xff1b;使用者…

Vue 3 學習路線指南

階段一:基礎入門 (1-2周) 1.1 環境準備 # 安裝 Node.js (推薦 18+ 版本) # 安裝 Vue CLI 或使用 Vite npm create vue@latest my-vue-app cd my-vue-app npm install npm run dev1.2 Vue 3 核心概念 響應式系統:ref(), reactive(), computed() 組合式 API:setup() 函數 模…

使用 `hover:not-[:has(:hover)]` 避免「父元素和子元素同時 hover」時的樣式沖突

:hover:not-(:has(:hover)) has() CSS 4 引入的“父選擇器”&#xff0c;意思是&#xff1a;匹配那些里面包含某個子元素/狀態的元素。 例如&#xff1a;:has(:hover) 表示「自身包含正在被 hover 的子元素」。 :not() 取反偽類&#xff0c;表示不匹配里面的條件。 比如我…

第三十天-DMA串口實驗

一、DMA概述二、DMA通道注意&#xff0c;想要往串口中寫數據&#xff0c;外部請求信號應該是USARTx_TX&#xff0c;當DR寄存器為空時&#xff0c;產生TX信號&#xff0c;請求DMA。反之&#xff0c;從串口中讀數據&#xff0c;外部請求信號應該是USARTx_RX&#xff0c;當DR寄存器…

C/C++ 中的inline(內聯函數關鍵字)詳解

在 C/C 編程中&#xff0c;函數調用雖然帶來了代碼復用和可讀性提升&#xff0c;但頻繁調用小型函數可能會產生額外的調用開銷&#xff08;call overhead&#xff09;&#xff0c;比如棧幀的建立與銷毀、參數傳遞等。 為了減少這種開銷&#xff0c;C 引入了 inline&#xff08;…

2025 年高教社杯全國大學生數學建模競賽A 題 煙幕干擾彈的投放策略完整成品 思路 模型 代碼 結果 全網首發高質量!!!

煙幕干擾彈主要通過化學燃燒或爆炸分散形成煙幕或氣溶膠云團,在目標前方特定空域形成遮蔽&#xff0c;干擾敵方導彈&#xff0c;具有成本低、效費比高等優點。隨著煙幕干擾技術的不斷發展&#xff0c;現已有多種投放方式完成煙幕干擾彈的定點精確拋撒,即在拋撒前能精確控制煙幕…

嵌入式第四十五天(51單片機相關)

一.1.CPU、MPU、MCU、GPU&#xff1a; CPU&#xff08;中央處理器&#xff09;&#xff1a;計算機的核心部件&#xff0c;負責執行指令和處理數據。 MPU&#xff08;微處理器&#xff09;&#xff1a;通常指更通用的處理器&#xff0c;強調計算能力。 MCU&#xff08;微控制器&…

今天面了一個Java后端工程師,真的讓我猛抬頭

今天面了一個Java后端工程師,真的讓我猛抬頭啊. 現在面試不像傳統的八股文面試,我更多問的都是項目場景相關的問題,但是都能回答的不錯.這一點我還是很驚訝的。 不僅如此,她的技術也很扎實,對Java核心機制&#xff08;JVM、并發、集合等&#xff09;理解深入&#xff0c;回答…

攔截器和過濾器(理論+實操)

攔截器和過濾器 本文旨在夯實基礎以及實戰加深理解,目的是更深的理解以便掌握,希望能跟著動手敲一遍,絕對受益匪淺 在本文,我會先給出兩者的區別(理論知識),隨后是兩者各自的實操實現 文章目錄攔截器和過濾器什么是過濾器和攔截器?1.過濾器2.攔截器執行整體流程攔截器和過濾器…

HTB 賽季8靶場 - Guardian

各位好&#xff0c;最近我的kali崩掉了&#xff0c;崩掉了&#xff0c;建議大家避K 番茄C盤瘦身&#xff0c;這家伙修改了我的avrt.dll文件&#xff0c;導致virtualbox不接受我的avrt.dll文件的簽名了&#xff0c;從而導致virtualbox的虛擬機環境全崩無法開機。弄了幾天&#x…

Rust+slint實現一個登錄demo

系列文章目錄 文章目錄系列文章目錄前言一、為什么前端選擇slint而不是Tauri或者其他GUI框架二、開發工具三、代碼編寫項目結構前端代碼編寫后端開發編寫運行效果總結前言 本文章就是一個簡單rust全棧編程的一個小小的示例供rust新手閱讀學習。 一、為什么前端選擇slint而不是…

2025前端面試題及答案(詳細)

HTML5 的新特性有哪些&#xff1f;簡約版本&#xff1a;“HTML5 新特性主要體現在六個方面&#xff1a; 第一&#xff0c;語義化標簽&#xff0c;比如 header、footer、nav 等&#xff0c;讓頁面結構更清晰&#xff1b; 第二&#xff0c;表單增強&#xff0c;新增了 date、emai…

分詞器詳解(二)

&#x1f50d; 第2層&#xff1a;中等深度&#xff08;15分鐘理解&#xff09; 1. 理論基礎 1.1 BPE的數學原理 核心思想&#xff1a;通過迭代合并高頻字符對構建詞匯表 算法形式化&#xff1a; 初始化詞匯表 V0{c1,c2,...,cn}V_0 \{c_1, c_2, ..., c_n\}V0?{c1?,c2?,...,c…

嵌入式學習 51單片機(3)

UART 概述通用異步收發器&#xff08;UART&#xff09;是一種全雙工、串行、異步通信協議&#xff0c;常用于設備間數據傳輸。包含兩根信號線&#xff1a;RXD&#xff08;接收信號線&#xff09;TXD&#xff08;發送信號線&#xff09;通信方式單工通信方向固定&#xff0c;僅支…

Redis AOF 持久化:銀行的 “交易流水單” 管理邏輯

目錄 一、AOF 的核心邏輯&#xff1a;“每筆交易都記流水” 二、AOF 的三個步驟&#xff1a;從 “臨時記錄” 到 “正式歸檔” 1. 命令追加&#xff1a;記到 “臨時小本本” 2. 寫入與同步&#xff1a;抄到 “正式流水冊” 3. AOF 還原&#xff1a;拿 “流水冊” 重放交易…

代碼隨想錄訓練營第三十天|LeetCode452.用最少數量的箭引爆氣球、LeetCode435.無重疊空間、LeetCode763.劃分字母空間

452.用最少數量的箭引爆氣球 貪心算法 重合最多的氣球射一箭&#xff0c;就是局部用箭數量最少的&#xff0c;全局的用箭數量就是最少的。 首先對二維數組進行排序&#xff0c;這樣就可以讓氣球更加緊湊。 思路&#xff1a;當前氣球是否和上一個氣球區間重合&#xff0c;如…