消息框作為計算機向人發送消息的一種方式,一直在Windows系列操作系統中廣泛應用。然而,消息框由于種種原因會對人們的操作使用造成干擾。針對當前Windows系統的消息框的界面和執行過程分析,提出相應的改進,以減少消息框占用的面積,減弱對人們使用的干擾。最后用Visual Studio開發工具實現了新的消息框程序。
【關鍵詞】Windows系統 消息框
人機交互方式以發起者來分類主要有2種方式,一種是人向機器主動發起的交互,另一種是機器向人主動發起的交互。自從出現圖形化界面一來,消息框用在機器向人發送臨時消息的而發起的一種交互方式,在計算機人機交互中大量應用,成為一種主要的方式。
最初,在圖形化的pc系統上消息框是用來提示用戶操作系統發生的異常和系統的報警,隨著Windows系統的發展成熟和互聯網的普及在一些常用的軟件上消息框還用來向使用者提示后臺軟件的操作和新聞信息或者帶有商業利益的推廣信息。
隨著消息框使用的增多,尤其是帶有商業利益推廣信息的彈框式消息框的濫用,凸顯出了消息框對人們使用時造成的妨礙效果。因此,引發了人們從法律法規、道德、技術等層面探討如何消除消息框對人們造成的妨礙。
1 原因分析
分析消息框對人們使用造成妨礙的原因,本文認為主要有以下幾點:
(1)消息框顯示時是最前窗口的方式顯示,如果其顯示的位置有人們正在關注的信息或者正在使用的控件,必然會遮擋這些信息和控件。
(2)消息框顯示后,通常需要人們進行一些操作才能關閉,因此會打斷人們當前的使用。
(3)在商業目的消息框上,由于其設計和使用的目的本身就是傳播帶商業利益的推廣信息,帶著這個目的很可能本身就沒有考慮對人們使用的妨礙因素。
本文認為第1個和第2個原因是可以通過改良消息框的界面設計來減少對人們正在關注信息或使用控件的遮擋和減弱對人們使用的影響。從而,使人們更好的接受非商業推廣用途的消息框。
2 消息框程序設計
目前,在Windows系列操作系統上的消息框,其界面布局通常有以下幾個部分組成:
(1)向人們表述消息信息的文字或圖片區域;
(2)窗口的外框;
(3)背景填充區域;
(4)操作按鈕或其它控件。
消息框實現向人們傳遞消息的功能主要由文字或圖片區域完成,操作按鈕或其它控件用于人們對傳遞過來的消息做出反應,而窗口外框和背景填充區域并無實際作用。因此,如果去掉邊框再壓縮背景填充區域的面積,則可以大幅減小消息框在顯示需要占用的面積,從而減少對人們使用的遮擋。
由于,消息框通常需要人們處理后才能從屏幕上消失,這是打斷人們使用的原因。如果讓消息框在顯示了一段時間后,自動最小化到系統托盤。則既可以減少對人們使用的干擾,又可以避免出現的時間過短導致未閱讀完消息框的內容。
3 消息框程序實現
本文采用Visual Studio 2010開發平臺用C#語言WPF框架實現了根據上述2改良的消息框。之所以選擇用C#語言WPF框架,是因為C#語言作為Microsoft自己開發的編程語言,在Windows系統上運行比JAVA的執行效率要高出很多。C#采用面向對象的編程思想在開發的過程中代碼簡潔。WPF框架相比Winform框架功能強大很多,減少了控件對系統資源的占用,優化了多線程的處理,對于界面的設計由于WPF框架采用XAML語言實現復雜的界面時只需要簡單的文本即可完成。
實現隱藏消息框的外框是通過在Grid控件中的WindowStyle屬性設置為None來。代碼如下:
Timer類可以實現一個或多個函數延遲指定的時間后執行。這個功能可以用來控制消息框窗口的顯示時間,在達到一定的時間后,觸發執行函數將消息框最小化到系統托盤。其中Interval屬性用來設置延遲的時間。由于Timer類本身是可以循環執行的,所以需要在執行函數里面將Timer的Enable屬性設置為false,以避免循環執行的BUG。
C#語言中提供了NotifyIcon類系統托盤的相關功能。Timer的執行函數里面設置將窗口隱藏時同時將系統托盤圖標設計為可見即可實現將消息框最小化到系統托盤功能。代碼如下:this.Hide(); this.notifyIcon1.Visible=true;
同時還需要在系統托盤中的鼠標點擊事件中添加將窗口顯示的代碼:
this.Visible = true;
this.WindowState =FormWindowState.Normal;
this.notifyIcon1.Visible = false;
對于顯示文字信息的消息框,可以根據其需要顯示的文字的長度來決定使用多大的消息框。以避免用一個過大的消息框顯示較少的內容,從而占用過多的顯示面積的問題。
將Windows系統現用的消息框和改良后的消息框比較,以同樣大小的字體顯示同樣的內容時,可以縮小到原來的40%左右。在顯示內容時可以在人們沒有任何處理的情況下從屏幕上消失,以減少對人們使用的干擾。
4 小結
對Windows系統上運行的以商業推廣目的的消息框,因為其使用的目的是從商業利益考慮的,所以本文的研究不能減少這類消息框對人們使用的干擾。而對于合理的用途的消息框,可以采用本文的研究以減少對人們使用時的遮擋帶來的影響和操作時的干擾。
參考文獻
[1]羅仕鑒.人機界面設計[M].北京:機械工業出版社,2002.
[2]網信辦:會同多部門聯合啟動“整治網絡彈窗”行動[J].信息安全與通信保密,2014(10):10.
[3]王君知.網絡彈窗廣告的倫理思考[J].湘南學院學報,2011(06):22-25+50.
[4]董明.如何禁止電腦軟件彈窗廣告[J].計算機與網絡,2015(13):34.
[5]王松.網絡不良彈窗的危害及防治[J].法制與社會,2015(14):58-59.
[6]國家網信辦等將聯合整治網絡彈窗[J].青年記者,2014(29):17.
作者簡介:
謝元忱(1988-),男,湖南省衡陽市人。現就讀于南華大學,碩士研究生。
作者單位
南華大學 湖南省衡陽市 421000