C# 制作指示灯(经典)
生活随笔
收集整理的這篇文章主要介紹了
C# 制作指示灯(经典)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
群友提問:C#中的指示燈怎么做,改變狀態有什么好的方法嗎?
制作指示燈的方法有很多中:比如:
通過GDI+繪制自定義LED指示燈控件;
調用現成的第三方控件庫;
采用label標簽,通過改變背景色實現;等等
本文就以第三種方式展開講解
01
—
實現效果
02
—
實現代碼
前臺代碼:
添加兩個按鈕和一個標簽:
<StackPanel><Border BorderBrush="Red"></Border><Button Name="StartBtn" Content="Start"/><Button Name="StopBtn" Content="Stop"/><Label Name="DisplayLbl" Visibility="{Binding DisplaySwitch}" FontSize="200"HorizontalAlignment="Center" VerticalAlignment="Center"Content="{Binding LabelText}" Foreground="{Binding ForeColor}" /></StackPanel>后臺代碼:
①安裝PropertyChanged.Fody,using PropertyChanged;然后在類前面添加? ?[AddINotifyPropertyChangedInterface],類中所有屬性變更后就會自動通知界面變更;
②通過DisplaySwitch 屬性控制指示燈的顯示或者隱藏,然后通過界面的start按鈕啟動指示燈,stop關閉指示燈;
③指示燈背景色的改變通過獨立線程控制,跨線程修改UI線程控件屬性使用Caliburn.Micro框架下的 ?Execute.OnUIThread(()=>{});實現。
03
—
? ? ? ? ? ? ? ? ? ?? ? ? 其它相關:Brush顏色轉換
1、String轉換成ColorColor?color?=?(Color)ColorConverter.ConvertFromString(string);2、String轉換成BrushBrushConverter?brushConverter?=?new?BrushConverter();Brush?brush?=?(Brush)brushConverter.ConvertFromString(string);3、Color轉換成BrushBrush?brush?=?new?SolidColorBrush(color));4、Brush轉換成Color有兩種方法:(1)先將Brush轉成string,再轉成Color。Color?color=?(Color)ColorConverter.ConvertFromString(brush.ToString());(2)將Brush轉成SolidColorBrush,再取Color。Color?color=?((SolidColorBrush)CadColor.Background).Color; 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C# 制作指示灯(经典)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看看这套WPF开源基础控件库:WPFDe
- 下一篇: c# char unsigned_dll