狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# WinForms 仿Toast彈出實現(xiàn)

admin
2024年10月20日 16:36 本文熱度 13

在WinForms應(yīng)用程序中,我們通常會使用MessageBox.Show()來顯示消息提示,但這種方式會阻斷用戶操作,直到消息框被關(guān)閉。為了提供更流暢的用戶體驗,我們可以仿造Android中的Toast消息提示,實現(xiàn)一種非阻斷性的消息提示。

什么是Toast消息提示?

Toast消息提示是一種在屏幕邊緣或角落彈出的小型、臨時的消息提示框,它不需要用戶交互,會在設(shè)定的時間后自動消失。

實現(xiàn)WinForms中的Toast效果

要在WinForms中實現(xiàn)Toast效果,我們需要創(chuàng)建一個無邊框的窗體,并在其中添加一個用于顯示消息的控件(如Label)。然后,我們可以通過調(diào)整窗體的位置和透明度,以及設(shè)置定時器來控制窗體的顯示和自動關(guān)閉。

1. 創(chuàng)建Toast窗體

首先,我們需要創(chuàng)建一個新的窗體(例如命名為ToastForm),并對其進行如下設(shè)置:

  • 設(shè)置FormBorderStyle屬性為None,以去除窗體邊框。

  • 設(shè)置StartPosition屬性為Manual,以便我們可以手動指定窗體的顯示位置。

  • 添加一個Label控件(例如命名為lblMessage),用于顯示消息文本。

  • 設(shè)置ShowInTaskbar屬性為False,防止窗體在任務(wù)欄中顯示。

2. 實現(xiàn)Toast顯示邏輯

接下來,我們需要在ToastForm中實現(xiàn)顯示和自動關(guān)閉的邏輯。以下是一個簡單的示例代碼:

csharp

public partial class ToastForm : Form
{
   
private Timer timer = new Timer();

   
public ToastForm(string message, int duration)
   
{
       
InitializeComponent();
       lblMessage
.Text = message;
       StartPosition
= FormStartPosition.Manual;
       Location
= new Point(Screen.PrimaryScreen.WorkingArea.Width - Width - 10, Screen.PrimaryScreen.WorkingArea.Height - Height - 10);
        timer
.Interval = duration;
        timer
.Tick += (s, e) => Close();
        timer
.Start();
       
Show();
   
}

   
protected override CreateParams CreateParams
   
{
       
get
       
{
           
CreateParams cp = base.CreateParams;
           cp
.ClassStyle = cp.ClassStyle | 0x200; // CS_DROPSHADOW
           
return cp;
       
}
   
}

   
private void ToastForm_Load(object sender, EventArgs e)
   
{
       
this.Opacity = 0;
       timer
.Start();
   
}

   
private void timer_Tick(object sender, EventArgs e)
   
{
       
this.Opacity += 0.1;
       
if (this.Opacity >= 1)
       
{
           timer
.Interval = 2000; // 顯示時長
           timer
.Tick += (s, args) =>
           
{
               
this.Opacity -= 0.1;
               
if (this.Opacity <= 0)
               
{
                   timer
.Stop();
                   
this.Close();
               
}
           
};
       
}
   
}
}

3. 調(diào)用Toast窗體

最后,我們可以在需要顯示Toast消息的地方創(chuàng)建ToastForm的實例。例如:

csharp

ToastForm toast = new ToastForm("這是一個Toast消息", 3000); // 顯示時長為3秒

注意事項

  • 確保在多線程環(huán)境下安全地訪問UI控件。

  • 考慮在窗體關(guān)閉時釋放資源,例如停止定時器。

  • 可以通過調(diào)整OpacityLocation屬性來實現(xiàn)更平滑的顯示和隱藏效果。

結(jié)論

通過上述步驟,我們可以在WinForms應(yīng)用程序中實現(xiàn)類似Android的Toast消息提示效果。這種提示方式不會阻斷用戶操作,可以提供更流暢的用戶體驗。希望本文的示例代碼能夠幫助你在開發(fā)中實現(xiàn)這一功能。


該文章在 2024/10/22 12:20:06 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2024 ClickSun All Rights Reserved