最近,在我媽媽的房子裏,打了一個電話,來電顯示器出現在她的電視(Comcast)的橫幅上。當McAfee提出病毒警告時,我看到了類似的功能。這是一個帶有公司標誌,信息和一兩個按鈕的半透明彈出式窗口。如何在C#中彈出消息彈出窗口?
我想模仿這種行爲(通過C#)。這將事件驅動。我在C#中的經驗非常有限,所以我仍然感覺不同的庫。我應該從哪裏開始有什麼想法?
最近,在我媽媽的房子裏,打了一個電話,來電顯示器出現在她的電視(Comcast)的橫幅上。當McAfee提出病毒警告時,我看到了類似的功能。這是一個帶有公司標誌,信息和一兩個按鈕的半透明彈出式窗口。如何在C#中彈出消息彈出窗口?
我想模仿這種行爲(通過C#)。這將事件驅動。我在C#中的經驗非常有限,所以我仍然感覺不同的庫。我應該從哪裏開始有什麼想法?
如果您的應用程序在後臺運行,您可以簡單地彈出一個窗口並將其設置爲最上方。
正是你做超越,什麼是要依賴於什麼類型的用戶界面使用WPF可以更容易地建立一個透明的形式,如這裏所描述(WPF /的WinForms):
http://blogs.interknowlogy.com/2007/06/20/transparent-windows-in-wpf-2/
透明度的WinForms是有點困難,但也有一些關於它的帖子:
Partial transparency with C# .NET 3.5 WinForms?
一對夫婦的事情,你會想你的彈出窗口,要做到:
只要把那些在您的形式,所以它看起來更好。
- Dan
代碼示例會很有幫助 – smartcaveman 2011-03-05 20:13:12
我推薦使用WPF。創建新的窗口,這將彈出並設置下一個屬性:
WindowStyle="None"
AllowsTransparency="True"
Opacity="0.5" //50% transparent
Topmost="True"
Background
屬性將設置窗口的顏色。
在窗口上放置任何你需要的控件。 創建這個窗口,並顯示當一些事件發生:
YourWindow popup = new YourWindow(/*possible args for message on popup, for example*/);
popup.Show();
要放置你的窗口右下角,因爲所有彈出窗口,可以使用下面的代碼在Windows Loaded
事件:
this.Left = SystemParameters.WorkArea.Width - this.Width;
this.Top = SystemParameters.WorkArea.Height - this.Height;
如何使窗口移動的動畫可以在other questions中閱讀。
你想在你的電腦上模仿這個,對吧?不在你的電視上?我只能想象這將是一種刺激,除非它是可訪問性軟件(如「聾啞人的某人的IMing你」消息)。 – Crisfole 2011-03-05 20:05:37