C# 模仿QQ、MSN訊息提示系列 二、基本效果模仿包含程式碼
一、實現功能
程式開始執行螢幕右下角彈出提示框、等待、移出
當提示框移動到最高點時,滑鼠懸停時等待
二、編寫程式碼前需要確定的內容
1、確定視窗滾動的起始位置
2、確定視窗滾動的終止位置
3、確定視窗當前的滾動狀態
4、確定視窗距離螢幕右邊的距離單位畫素
5、確定等待時間
6、確定滑鼠是否懸停
三、編寫程式碼
1、建立一個Form窗體
為了效果好看些我把Form的 FormBorderStyle屬性設定為None
並且把一個美女圖片作為Form背景
如圖
2、給Form增加屬性
針對準備1 增加 private Point StartPoint;
針對準備2 增加 private Point EndPoint;
針對準備3 增加 列舉型別
2 {
3 MoveTop,Waiting,MoveDown
4 }
增加 private FormMoveState State;
還需要增加四個 時間控制元件
針對準備4 增加 private int marginRight = 10;
針對準備5 增加 private int waitCount = 100;(需要等待waitingTimer迴圈的次數)
private int waitedCount = 0;(需要等待waitingTimer已經迴圈的次數)
針對準備6 增加 private bool mouseEnter;
3、初始化
初始化視窗大小
為使視窗更加美觀設定視窗的大小和背景大小一樣
設定開始位置
開始位置X座標=工作區域寬度-視窗寬度-視窗距離螢幕右邊的距離
開始位置Y座標=工作區域高度
設定結束位置
結束位置X座標=開始位置X座標(因為提示視窗只是上下移動所以橫座標是一致的)
結束位置Y座標=工作區域高度-視窗高度
設定視窗的初始位置為開始位置
設定開始時間控制元件的為可用
4、具體實現邏輯
開始時間控制元件負責在每次執行時把窗體的縱座標-1
結束時間控制元件負責在每次執行時把窗體的縱座標+1
等待時間空間每次執行時更新等待次數
滑鼠檢測控制元件負責判斷滑鼠當前的狀態
如果滑鼠在視窗上並且視窗的狀態為等待狀態
則等待時間控制元件失效(也就是繼續等待)
否則等待時間控制元件有效
初次寫教程類文章,還請大家多多指教。。。
出處:http://XuShen8314.cnblogs.com
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則視為侵權。