C#常見(jiàn)Winform窗體效果詳解
更新時(shí)間:2024年04月03日 09:23:08 作者:lingxiao16888
這篇文章主要為大家詳細(xì)介紹了C#中常見(jiàn)Winform窗體效果實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
1.窗體閃爍
/// <summary> /// 窗體閃爍 /// </summary> /// <param name="handle">將要閃爍的窗體</param> /// <param name="blnvert">是否恢復(fù)狀態(tài)</param> /// <returns></returns> [System.Runtime.InteropServices.DllImport("user32.dll")] static extern bool FlashWindow(IntPtr handle, bool blnvert);
2.透明非矩形的窗體
效果:
public partial class Form1 : Form { Bitmap bit; public Form1() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs e) { //e.Graphics.DrawEllipse(new Pen(Color.Red,2), new RectangleF(0, 0, this.Width-2, this.Height-2)); e.Graphics.DrawImage(bit, new Point(0, 0)); e.Graphics.DrawString("Good", new Font("華文行楷", 15), Brushes.Red, new PointF(10, 10)); } private void Form1_Load(object sender, EventArgs e) { bit = new Bitmap("../../1.png"); bit.MakeTransparent(Color.Blue); this.TransparencyKey = Control.DefaultBackColor;//必須對(duì)該屬性進(jìn)行設(shè)置否則背景不透明 } }
3.窗口顯示,退出呈現(xiàn)平滑效果
/// <summary> /// 窗口顯示關(guān)閉動(dòng)畫(huà) /// </summary> class PopUpWindowAnimation { /// <summary> /// 窗口打開(kāi)關(guān)閉動(dòng)畫(huà) /// </summary> /// <param name="hander">窗口句柄</param> /// <param name="duration">持續(xù)時(shí)間</param> /// <param name="effert">效果</param> /// <returns></returns> public static bool PopWindow(IntPtr handle,int duration, Effect effert) { bool result = AnimateWindow(handle, duration, (int)effert); return result; } /// <summary> /// 實(shí)現(xiàn)窗口的動(dòng)畫(huà)效果 /// </summary> /// <param name="hwnd">窗口句柄</param> /// <param name="dwTime">動(dòng)畫(huà)持續(xù)的時(shí)間</param> /// <param name="dwFlags">動(dòng)畫(huà)類(lèi)型選項(xiàng)</param> /// <returns></returns> [DllImport("user32.dll")] static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags); } /// <summary> /// 動(dòng)畫(huà)效果 /// </summary> [Flags] public enum Effect { /// <summary> /// 滑動(dòng)效果。默認(rèn)為滾動(dòng)動(dòng)畫(huà)類(lèi)型,當(dāng)使用AW_CENTER標(biāo)志時(shí),這個(gè)標(biāo)志被忽略 /// </summary> AW_SLIDE = 0X40000, /// <summary> /// 激活窗口。在使用AW_HIDE標(biāo)志后不要使用這個(gè)標(biāo)志 /// </summary> AW_ACTIVATE = 0X20000, /// <summary> /// 使用淡入效果。只有當(dāng)hWnd為頂層窗口時(shí)才可以使用此標(biāo)志 /// </summary> AW_BLEND = 0X80000, /// <summary> /// 隱藏窗口,默認(rèn)則顯示窗口 /// </summary> AW_HIDE = 0X10000, /// <summary> ///若使用AW_HIDE標(biāo)志,則使窗口向內(nèi)重疊;若使用AW_HIDE標(biāo)志,則使窗口向外擴(kuò)展。 /// </summary> AW_CENTER = 0X10, /// <summary> /// 自左向右顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志 /// 被忽略 /// </summary> AW_HOR_POSITIVE = 0X1, /// <summary> /// 自右向左顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志 /// 被忽略 /// </summary> AW_HOR_NEGATIVE = 0X2, /// <summary> /// 自上向下顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志 /// 被忽略 /// </summary> AW_VER_POSITIVE = 0X4, /// <summary> /// 自下向上顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫(huà)和滑動(dòng)動(dòng)畫(huà)中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志 /// 被忽略 /// </summary> AW_VER_NEGATIVE = 0X8 }
4.窗體不在任務(wù)欄中顯示
設(shè)置窗體屬性:
FormBorderStyle | ShowInTaskBar | 效果 |
---|---|---|
SizableToolWindow | True | 該窗體不出現(xiàn)在Alt+Tab快捷鍵的預(yù)覽窗口中,但任務(wù)欄中依然有該窗體 |
SizableToolWindow | False | 該窗體不出現(xiàn)在Alt+Tab快捷鍵的預(yù)覽窗口中,也不出現(xiàn)在任務(wù)欄中 |
到此這篇關(guān)于C#常見(jiàn)Winform窗體效果詳解的文章就介紹到這了,更多相關(guān)C# Winform窗體效果內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#中三種Timer計(jì)時(shí)器的詳細(xì)用法
這篇文章介紹了C#中三種Timer計(jì)時(shí)器的詳細(xì)用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射詳解
大家在使用Attribute的時(shí)候大多需要用到反射,所以放在一起。下面這篇文章主要給大家介紹了關(guān)于C#基礎(chǔ)學(xué)習(xí)系列之Attribute和反射的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09C#通過(guò)NPOI導(dǎo)入導(dǎo)出數(shù)據(jù)EXCEL
這篇文章主要為大家詳細(xì)介紹了C#通過(guò)NPOI導(dǎo)入導(dǎo)出數(shù)據(jù)EXCEL,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法
這篇文章主要介紹了使用c#判斷數(shù)據(jù)庫(kù)服務(wù)器是否已經(jīng)啟動(dòng)的方法,大家參考使用吧2014-01-01自動(dòng)輸出類(lèi)的字段值實(shí)用代碼分享
有點(diǎn)時(shí)候在測(cè)試的時(shí)候希望打印輸出返回對(duì)象的各字段的值,采用下面的代碼可以很方便的列出對(duì)象的各字段值2013-12-12