在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用7段碼數碼管?

汽車電子技術 ? 來源:dotNet工控上位機 ? 作者: 新閣教育付工 ? 2023-02-22 15:50 ? 次閱讀

數碼管

在開發上位機UI界面時,我們常常會希望數值可以以7段數碼管的形式呈現。

關于7段數碼管,最早接觸應該是學習單片機的時候,它可以將數字或者字母以7段字符來呈現,所以有時候也叫7段LED數碼管顯示。

實現思路

C#想要實現7段數碼管顯示,一般會有兩種思路,一種是GDI+,通過代碼繪制的方式來實現,今天,給大家介紹另外一種簡單而又方便的方式,那就是通過設置字體,提前做好一個7段碼的字體,在電腦中安裝好即可,當然字體也可以用現成的,這里給大家提供一個線程的7段碼字體,公眾號回復關鍵詞:7SEG 或 124

使用也很簡單,就是拖放一個Label標簽到界面上,然后設置字體選擇為7SEG,設置合適的字體大小即可。

圖片

使用7SEG字體,前提要安裝這個字體,安裝也很簡單,雙擊下載的7SEG.ttf即可。

最終呈現的效果如下所示:

圖片

項目應用

這個提及一下項目應用,如果我們開發好項目,把程序放到其他電腦上使用,由于其他電腦沒有安裝7SEG的字體,效果肯定會不一樣。

一種方法就是提前手動安裝好字體,然后再運行程序,但是也沒有其他好的方法呢?

也許你們也想到了,就是通過代碼自動完成,思路就是檢測字體是否存在,存在則繼續,不存在則通過代碼安裝字體。

所以首先需要第一個方法,檢測某個字體是否存在,方法如下:

/// 
        /// 檢測某種字體樣式是否可用
        /// 
        /// 字體名稱
        /// 字體樣式
        /// 
        private bool CheckFont(string familyName, FontStyle fontStyle = FontStyle.Regular)
        {
            InstalledFontCollection installedFontCollection = new InstalledFontCollection();
            FontFamily[] fontFamilies = installedFontCollection.Families;
            foreach (var item in fontFamilies)
            {
                if (item.Name.Equals(familyName))
                {
                    return item.IsStyleAvailable(fontStyle);
                }
            }
            return false;
        }

有了這個方法之后,還需要另外一個方法就是安裝字體,安裝字體需要提供字體的路徑,代碼如下:

/// <summary>
        /// 安裝字體
        /// class="hljs-keyword"summary>
        /// name="fontFilePath">字體文件全路徑
        /// <returns>是否成功安裝字體class="hljs-keyword"returns>
        /// <exception cref="UnauthorizedAccessException">不是管理員運行程序class="hljs-keyword"exception>
        /// <exception cref="Exception">字體安裝失敗class="hljs-keyword"exception>
        private bool InstallFont(string fontFilePath)
        {
            try
            {
                System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
                System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
                //判斷當前登錄用戶是否為管理員
                if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator) == false)
                {
                    throw new UnauthorizedAccessException("當前用戶無管理員權限,無法安裝字體");
                }
                //獲取Windows字體文件夾路徑
                string fontPath = Path.Combine(System.Environment.GetEnvironmentVariable("WINDIR"), "fonts", Path.GetFileName(fontFilePath));
                //檢測系統是否已安裝該字體
                if (!File.Exists(fontPath))
                {                 
                    //將某路徑下的字體拷貝到系統字體文件夾下
                    File.Copy(fontFilePath, fontPath); //font是程序目錄下放字體的文件夾
                    AddFontResource(fontPath);
                    //安裝字體
                    WriteProfileString("fonts", Path.GetFileNameWithoutExtension(fontFilePath) + "(TrueType)", Path.GetFileName(fontFilePath));
                }
            }
            catch (Exception ex)
            {
                return false;
            }
            return true;
        }

最終在項目運行初始化里執行如下代碼:

if (!CheckFont("7SEG"))
            {
                if (InstallFont(FontPath))
                {
                    MessageBox.Show("字體安裝成功,重啟生效!", "字體安裝");
                }
                else
                {
                    MessageBox.Show("字體安裝失敗!", "字體安裝");
                }
            }

其中FontPath是字體文件的路徑,一般可以提前方法根目錄下。這樣即使是沒有安裝字體的電腦,也可以直接正常顯示了。

-END-

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6063

    文章

    44925

    瀏覽量

    647102
  • 數碼管
    +關注

    關注

    32

    文章

    1889

    瀏覽量

    92238
  • 字符
    +關注

    關注

    0

    文章

    234

    瀏覽量

    25484
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    7段數碼管管腳順序及譯碼驅動集成電路

    7段數碼管管腳順序及譯碼驅動集成電路74LS47,48  這里介紹一下7段數碼管見下圖 7段數碼管
    發表于 11-06 13:42 ?1.2w次閱讀

    紅外遙控解碼數碼管顯示實驗

    紅外遙控解碼數碼管顯示實驗[hide]紅外遙控解碼數碼管顯示實驗.rar[/hide] [此貼子已經被作者于2009-12-7 18:25:13編輯過]
    發表于 12-07 18:22

    proteus的7段數碼管的問題

    最近剛開始接觸proteus,調用里面的數碼管時,發現CC驅動是位選為低,選為高才能亮,CA驅動是位選為高,選為低才能亮,那么7段數碼管
    發表于 07-25 22:29

    如何去解決編碼數碼管的數值問題

    最佳答案你那個編碼數碼管的數值可能有問題,寫出來全是亂碼。(這是我寫的,你可以做個參考):#include***it wela=P2^7;***it dula=P2^6;#define uchar
    發表于 07-15 07:45

    數碼管簡介

    數碼管簡介 組成:LED數碼管7或8發光二極組成,在平面上排成8字型。
    發表于 12-20 03:01 ?2676次閱讀
    <b class='flag-5'>數碼管</b>簡介

    共陰極7段數碼管

    共陰極7段數碼管 LED數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這
    發表于 03-14 13:03 ?3.3w次閱讀
    共陰極<b class='flag-5'>7</b><b class='flag-5'>段數碼管</b>

    共陽極7段數碼管

    共陽極7段數碼管 LED數碼管根據LED的接法不同分為共陰和共陽兩類,了解LED的這些特性,對編程是很重要的,因為不同類型的數碼管,除了
    發表于 03-14 13:04 ?3.5w次閱讀
    共陽極<b class='flag-5'>7</b><b class='flag-5'>段數碼管</b>

    7段數碼管顯示實驗報告

    EDA實驗中,7段數碼管顯示實驗報告,程序和波形仿真。
    發表于 11-24 14:50 ?0次下載

    【實驗114】紅外解碼數碼管顯示

    HL配套C實驗例程紅外解碼數碼管顯示,配合開發板學習效果更好。
    發表于 04-11 17:14 ?24次下載

    段數碼管驅動方式_七段數碼管怎么接

    本文首先介紹了七段數碼管驅動方式,其次介紹了七段數碼管引腳圖,最后介紹了七段數碼管引腳連接方法。
    發表于 10-09 11:16 ?1.8w次閱讀

    7段數碼管顯示實驗的Proteus仿真電路圖和程序免費下載

    7段數碼管顯示 包括2個任務1:protues上仿真實現8個數碼管動態顯示0~7,2:在實驗箱上完成8個數碼管動態顯示0~
    發表于 12-10 08:00 ?13次下載
    <b class='flag-5'>7</b><b class='flag-5'>段數碼管</b>顯示實驗的Proteus仿真電路圖和程序免費下載

    使用Proteus實現7段數碼管顯示的實驗資料合集免費下載

    7段數碼管顯示 包括2個任務1:protues上仿真實現8個數碼管動態顯示0~7,2:在實驗箱上完成8個數碼管動態顯示0~
    發表于 06-19 08:00 ?24次下載
    使用Proteus實現<b class='flag-5'>7</b><b class='flag-5'>段數碼管</b>顯示的實驗資料合集免費下載

    C51單片機實驗——7段數碼管實驗

    實驗二 7段數碼管實驗報告實驗名稱:7段數碼管實驗實驗環境:普中實驗系統;Keil μVision 4軟件;實驗目的:(1)掌握7
    發表于 11-23 16:36 ?19次下載
    C51單片機實驗——<b class='flag-5'>7</b><b class='flag-5'>段數碼管</b>實驗

    led數碼管碼是如何確定的,led數碼管碼怎么求

    根據所選用的LED數碼管的極性(共陽極還是共陰極)以及數碼中每一個筆的引腳與CPU(或其它控制芯片) IO口的引腳的連接來定(稱自定的碼表)。一般資料上提供的
    的頭像 發表于 07-21 11:43 ?1w次閱讀
    led<b class='flag-5'>數碼管</b>的<b class='flag-5'>段</b>碼是如何確定的,led<b class='flag-5'>數碼管</b>的<b class='flag-5'>段</b>碼怎么求

    7段數碼管共陰共陽如何顯示數字

    7段數碼管是一種常見的顯示設備,用于顯示數字和部分字母。它由7個LED發光二極組成,每個LED可以獨立控制,從而實現數字和字母的顯示。 一、共陰共陽
    的頭像 發表于 08-28 16:19 ?4576次閱讀
    主站蜘蛛池模板: 国产精品资源在线观看网站 | 狠狠色狠狠色综合日日小蛇 | 成人男女啪啪免费观看网站 | 日韩福利一区 | h录音 国产 在线 | 天堂一区二区在线观看 | 人人爽人人爱 | 免费国产午夜在线观看 | 日本特黄色大片 | 高清一区二区三区视频 | 新天堂在线 | 色色色色色网 | 黄色三级视频网站 | 天天天天操 | 免费四影虎ww4hu10 | 三级在线看 | 人人干干人人 | 亚洲色图88| www.91免费视频 | 中文天堂最新版在线精品 | 女人张开腿男人桶 | 欧美成人h精品网站 | 亚洲大胆精品337p色 | 欧美巨波霸乳影院67194 | 黄色片网站日本 | 日本一本在线视频 | 激情 婷婷 | 欧美成人性色 | 综合亚洲一区二区三区 | 中文字幕一区二区三区精品 | 色中文字幕 | 日本欧美一区二区三区视频 | 婷婷五月色综合香五月 | 大蕉久久伊人中文字幕 | 天天弄天天干 | 日韩卡1卡2卡三卡四卡二卡免 | 特黄特色大片免费播放路01 | 免费一级特黄特色大片在线观看 | 成年女人毛片免费观看97 | 精品乱码一区二区三区四区 | 狠狠婷婷|