C#常見Winform窗體效果詳解
更新時(shí)間:2024年04月03日 09:23:08 作者:lingxiao16888
這篇文章主要為大家詳細(xì)介紹了C#中常見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;//必須對該屬性進(jìn)行設(shè)置否則背景不透明
}
}3.窗口顯示,退出呈現(xiàn)平滑效果
/// <summary>
/// 窗口顯示關(guān)閉動(dòng)畫
/// </summary>
class PopUpWindowAnimation
{
/// <summary>
/// 窗口打開關(guān)閉動(dòng)畫
/// </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)畫效果
/// </summary>
/// <param name="hwnd">窗口句柄</param>
/// <param name="dwTime">動(dòng)畫持續(xù)的時(shí)間</param>
/// <param name="dwFlags">動(dòng)畫類型選項(xiàng)</param>
/// <returns></returns>
[DllImport("user32.dll")]
static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
}
/// <summary>
/// 動(dòng)畫效果
/// </summary>
[Flags]
public enum Effect
{
/// <summary>
/// 滑動(dòng)效果。默認(rèn)為滾動(dòng)動(dòng)畫類型,當(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)畫和滑動(dòng)動(dòng)畫中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志
/// 被忽略
/// </summary>
AW_HOR_POSITIVE = 0X1,
/// <summary>
/// 自右向左顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志
/// 被忽略
/// </summary>
AW_HOR_NEGATIVE = 0X2,
/// <summary>
/// 自上向下顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫中使用。當(dāng)使用AW_CENTER標(biāo)志時(shí),該標(biāo)志
/// 被忽略
/// </summary>
AW_VER_POSITIVE = 0X4,
/// <summary>
/// 自下向上顯示窗口。該標(biāo)志可以在滾動(dòng)動(dòng)畫和滑動(dòng)動(dòng)畫中使用。當(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#常見Winform窗體效果詳解的文章就介紹到這了,更多相關(guān)C# Winform窗體效果內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
WPF封裝實(shí)現(xiàn)懶加載下拉列表控件(支持搜索)
WPF這種懶加載的控件未找到現(xiàn)成可用的組件,所以本文我們就自己封裝一個(gè)懶加載和支持模糊過濾的下拉列表控件,有需要的小伙伴可以參考一下2025-04-04
C# 控制臺(tái)實(shí)現(xiàn)一次性輸入多行的操作
這篇文章主要介紹了C# 控制臺(tái)實(shí)現(xiàn)一次性輸入多行的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01

