<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      跟我學做c#皮膚美化(五)

      跟我學做c#皮膚美化(五)

                             --MainForm窗體的制作2

      前續文章導航

       

      先來回顧一下我們上次遺留的問題

      1.  消除圖中不透明的地方

      2.  實現標題欄的拖動

      3.  實現窗體的最大化,最小化,關閉功能。

      下面就來一個一個解決。

      解決不透明的問題:

      首先為什么會有灰色的出現呢。不難想到這些灰色就是Picturebox的背景色。邊角上的圖片對粉紅色透明了,但卻露出了背景的顏色。知道了原因就好了解決了,就是我們需要將這一塊的背景色給透明掉。有人說可以講picturebox的背景色設置為透明的啊。不錯,是可以,但整個窗體的背景色呢?picturebox下面不還是有整個被覆蓋的窗體的嘛!窗體是不能像用戶控件那樣背景色設置為透明的,不過卻有一個屬性TransparencyKey可以間接的為我們解決這個問題。這個屬性的作用是這樣的,當這個屬性設置為某一種顏色后,那該窗體上的所有的這種顏色將都變為透明色。

      所以我們只需將TransparencyKey的顏色和窗體的背景色設置成一樣,那么背景色不就自動透明了嘛!在這里我們將所有控件的背景色和TransparencyKey都設置成系統里面的Info顏色(這個顏色你可以自己指定,不過不建議是原來的Control色,因為這樣后你再添加一個普通的控件,那么這個控件的一部分也會被透明掉)

      實現標題欄的拖動

      因為我們的窗體是沒有狀態欄的,所以當我們想移動窗口的時候發現怎么也”移不動”(不是有個笑話的嘛“中國移不動“,呵呵)。要解決這個問題還是需要借助API來完成。那如何知道別人需要移動窗體呢?這里我們就通過MouseDown這個事件來判斷。即如果用戶在特定的區域內按下了鼠標左鍵,那么我們就認為用戶需要移動客戶端了。這個時候我們調用相應的API向系統通知(SendMessage)讓系統做出響應。為了效果好一點,我們將狀態欄那一行的所有的MouseDown事件都用這個方法。于是現在我們運行一下看看能否移動窗體。

       

      很不錯嘛!又是一個問題解決了,現在只要將右上方的三個按鈕的功能完成那這個窗體就算基本完成了啦。好了,我們繼續。。。

           要處理按鈕的事件,毫無疑問我們在設計模式中雙擊對應的按鈕,然后處理。這里還要提一下的就是我們需要在這些事件的每個方法錢加一個virtual讓這些個方法可以被重寫。道理很簡單,假如我按關閉按鈕的時候不想其直接關閉而是先彈出對話框提醒一下用戶怎么辦呢?總不能讓用這個控件的人再去修改這個皮膚控件吧,最好的辦法就是可以讓他們重寫按鈕的click事件,他們想干嘛干嘛,不想有其他的功能只要不重寫就是了。

      好了開始說最小化功能吧。很簡單,一句話搞定:this.WindowState = FormWindowState.Minimized;然后是關閉按鈕,還是一句話的事情:this.close();呵呵貌似這兩個功能真簡單那!原本最大化也不復雜的,可是遇到了前面說到的那個問題,我們就知道想點兒其他的辦法啦。看代碼:

      當用戶點擊最大化按鈕的時候我們先將最大化按鈕上移隱藏,然后將還原按鈕降下(還記得我們一開始給他設置的位置是-30嗎?),然后我們最大化之前就先記錄窗體的大小和位置(就是最開始賦值的那四句話)信息便于后面的還原。接下來的四句就是咱們手動來制造一種窗體最大化的狀態啦,首先位置肯定在左上角。然后大小應該就是用戶電腦屏幕客戶區的大小,這個大小我是用Screen.PrimaryScreen.WorkingArea這個函數得到的。狀態設置完了我們只要改一下窗體的狀態標識st為stat.Max。然后當用戶想還原的時候我們只要在btres的click的點擊事件中做一下剛才那個動作的反就行了。怎么樣,是不是也不難啊!Ok,最后看一下運行效果:

       

      發現問題:

      終于是做好了。不過假如你也實際跟我動手做出了一個,你或許會發現以下一些問題:

        1.    點擊最大化的時候反應好像有點慢,意思就是大概要過個這個半秒鐘才會最大化。

        2.   還有一個問題就是從最小化狀態下恢復到最大化狀態,窗體左上角會有閃爍現象(閃的實在太快了,沒辦法截圖啊,大家可以應用下我下面上傳的DLL運行下就知道了)。我們本來就是想美化窗口,但是如果這些個問題一來實在是給人感覺不好,甚至還不如不美化。在下一篇中我將會帶領大家解決這個問題。

        3.    我們的窗體位置雖然能移動了,不過大小還不能拖動

       

       在下一篇中我會帶領大家解決這些問題,敬請期待!

      posted @ 2010-04-23 09:56  qianlifeng  閱讀(10690)  評論(8)    收藏  舉報
      主站蜘蛛池模板: 麻豆亚州无矿码专区视频| 中文字幕无码中文字幕有码a| 久久香蕉国产线看观看精品yw| 中文字幕精品亚洲字幕成| 国产精品一区在线免费看| 日本一区二区精品色超碰| 18禁无遮挡啪啪无码网站破解版| 欧美videosdesexo吹潮| 精品国产成人午夜福利| 国产又爽又大又黄a片| 国产天美传媒性色av高清| 免费吃奶摸下激烈视频| 久久国产精品波多野结衣av| 亚洲欧洲一区二区三区久久 | 日本高清在线观看WWW色| 亚洲乱码av中文一区二区| 91精品蜜臀国产综合久久| 嗯灬啊灬把腿张开灬动态图| 国产福利微视频一区二区| 波多野结衣一区二区免费视频| 国产精品无码av不卡| 狠狠色狠狠色综合日日不卡| 国产伦精品一区二区三区妓女| 男女性杂交内射女bbwxz| 亚洲美女被黑人巨大在线播放| 偷拍专区一区二区三区| 亚洲欧洲日产国无高清码图片| 午夜一区欧美二区高清三区| 中文字幕日韩精品有码| 日本新janpanese乱熟| 人妻少妇精品视频专区| 日本亚洲一区二区精品| 国内精品无码一区二区三区| 国产高清在线男人的天堂| 欧美视频二区欧美影视| 国产三级精品三级在线看| 最新国产AV最新国产在钱| 欧美视频网站www色| 日本熟妇XXXX潮喷视频| 国产精品伦人一久二久三久| 日韩精品亚洲精品第一页|