中文字幕乱码中文乱码51精品,萌白馒头一线天在线播放,人人人妻人人澡人人爽欧美一区

亚洲午夜网_国产美女精品中文网蜜芽宝贝_亚洲国产福利成人一区_免费无码av片在线观看中文_国产高清在线精品一本大道


    獲得積分
    資料庫(kù)會(huì)員登錄
    搜索: [高級(jí)搜索]
    下載首頁(yè) | 資源分類 | 下載排行
    您的位置: 首頁(yè) > 程序語(yǔ)言 > .NET
     
    分類導(dǎo)航
    下載排行
    最新資源
    vs_net中實(shí)現(xiàn)個(gè)性化窗體和控件
    資源大。101.14 KB 資源類型:文檔
    下載積分: 0
    更多
    -->
    下載統(tǒng)計(jì):總下載:0,本月下載:0,本周下載:0,今日下載:0
    發(fā)表評(píng)論 錯(cuò)誤報(bào)告 加入收藏夾
    資源介紹
    一、創(chuàng)建個(gè)性窗體
    以前, 創(chuàng)建個(gè)性化窗體是一個(gè)既費(fèi)時(shí)又費(fèi)人力的過(guò)程, 其中涉及
    到API 調(diào)用和大量的編程工作, 在vs.net 問(wèn)題變得很簡(jiǎn)單。創(chuàng)建個(gè)性
    化窗體的過(guò)程有兩個(gè)要素: 創(chuàng)建成形的窗體, 并編寫(xiě)某些編程邏輯的
    代碼以允許移動(dòng)和關(guān)閉窗體, 在自定義形狀的窗體上沒(méi)有標(biāo)題欄, 并
    且它本身不具有任何功能, 例如移動(dòng)窗體以及關(guān)閉窗體的能力。因此,
    編寫(xiě)一些代碼是進(jìn)行必要的補(bǔ)充。創(chuàng)建個(gè)性化窗體的過(guò)程:
    創(chuàng)建一個(gè)個(gè)性化形狀的窗體步驟:
    1.創(chuàng)建一個(gè)個(gè)性化的單色位圖, 將該圖的背景設(shè)為一種顏色(這種
    顏色將被“裁剪掉”), 并且這種顏色要和保留的部分顏色不能相同。所
    繪制的形狀最終將成為您的窗體, 因此請(qǐng)確保該形狀足夠大, 以滿足
    使用的需求。特別提醒一下在選擇“背景色”時(shí), 最好選擇一種便于記
    憶或操作的顏色, 因?yàn)檫@個(gè)“顏色”要被用來(lái)作為“透明化”的索引顏
    色。
    2.創(chuàng)建一個(gè)新的Windows 應(yīng)用程序項(xiàng)目。
    3.設(shè)置以下以下屬性:
    將FormBorderStyle 屬性設(shè)置為None。此屬性從窗體中移除標(biāo)
    題欄和一些常規(guī)的可見(jiàn)部分如邊框。將窗體的BackgroundImage 屬性
    設(shè)置為先前創(chuàng)建的位圖文件。不必將文件添加到項(xiàng)目系統(tǒng)中; 這將在
    指定該文件作為背景圖像時(shí)自動(dòng)完成。此屬性將該位圖圖像設(shè)置為
    窗體的背景。
    圖2
    圖1
    將TransparencyKey 屬性設(shè)置為位圖文件的背景色。上面設(shè)置的
    背景圖像中的某些和TransparencyKey 屬性相同的顏色部分將變“透
    明”掉, 而乘下的所看到的部分就是窗體的形狀。特別要說(shuō)明的是如果
    監(jiān)視器的顏色深度設(shè)置大于24 位, 則不管TransparencyKey 屬性是如
    何設(shè)置的, 窗體的非透明部分都會(huì)產(chǎn)生顯示問(wèn)題。
    編寫(xiě)關(guān)閉窗體的代碼因?yàn)樵谠O(shè)置FormBorderStyle 屬性為None
    時(shí),關(guān)閉按鈕也不可見(jiàn),可以用增加一個(gè)按鈕來(lái)實(shí)現(xiàn)它的功能。
    1.向窗體添加一個(gè)Button 控件。
    2.添加代碼, 使用戶可通過(guò)調(diào)用end 或close 方法關(guān)閉該窗體。
    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button1.Click
    Me.end
    End Sub
    編寫(xiě)移動(dòng)窗體的代碼
    1.創(chuàng)建一個(gè)在拖動(dòng)窗體時(shí)使窗體移動(dòng)的過(guò)程。輸入代碼來(lái)創(chuàng)建新
    的Point 對(duì)象。這將作為計(jì)算如何移動(dòng)窗體時(shí)的變量。isMouseDown 字
    段用于跟蹤用戶是否按下了鼠標(biāo)按鈕。該窗體應(yīng)只在用戶按下鼠標(biāo)按
    鈕時(shí)才移動(dòng)。
    Private mouseOffset As Point
    Private isMouseDown As Boolean = False
    2.創(chuàng)建窗體的MouseDown 事件的事件處理程序。在處理程序中添
    加代碼, 使用戶可以在窗體上的任意位置單擊以拖動(dòng)窗體。輸入代碼,
    以根據(jù)鼠標(biāo)指針的當(dāng)前位置, 將坐標(biāo)分配給mouseOffset 變量。在以下
    代碼中, 請(qǐng)注意偏移位置是使用有關(guān)邊框大小(FrameBorderSize .
    Width) 和標(biāo)題欄高度(CaptionHeight) 的系統(tǒng)信息進(jìn)行計(jì)算的。在測(cè)試
    偏移位置時(shí)必須考慮這些因素, 因?yàn)槟承y(cè)量結(jié)果是使用工作區(qū)得出
    的, 而另一些測(cè)量結(jié)果是使用屏幕坐標(biāo)得出的。因此, 偏移位置等于邊
    框?qū)挾燃由蠘?biāo)題高度, 再加上窗體工作區(qū)的偏移位置。
    Private Sub Form1_MouseDown(ByVal sender As Object, _
    ByVal e As MouseEventArgs) Handles MyBase.MouseDown
    Dim xOffset As Integer
    Dim yOffset As Integer
    If e.Button = MouseButtons.Left Then
    xOffset = - e.X - SystemInformation.FrameBorderSize.Width
    yOffset = - e.Y - SystemInformation.CaptionHeight - _
    SystemInformation.FrameBorderSize.Height
    mouseOffset = New Point(xOffset, yOffset)
    isMouseDown = True
    End If
    End Sub
    3.創(chuàng)建窗體的MouseMove 事件的事件處理程序。輸入代碼, 單擊
    鼠標(biāo)左鍵并且拖動(dòng)鼠標(biāo)時(shí), 窗體的Location 屬性將設(shè)置為新的位置。
    Private Sub Form1_MouseMove(ByVal sender As Object, _
    ByVal e As MouseEventArgs) Handles MyBase.MouseMove
    If isMouseDown Then
    Dim mousePos As Point = Control.MousePosition
    mousePos.Offset(mouseOffset.X, mouseOffset.Y)
    Location = mousePos
    End If
    End Sub
    4.創(chuàng)建窗體的MouseUp 事件的事件處理程序。輸入類似以下內(nèi)容
    的代碼。
    Private Sub Form1_MouseUp(ByVal sender As Object, _
    ByVal e As MouseEventArgs) Handles MyBase.MouseUp
    If e.Button = MouseButtons.Left Then
    isMouseDown = False
    End If
    End Sub
    二、創(chuàng)建個(gè)性化控件
    由于控件沒(méi)有窗體的“TransparencyKey”屬性, 因此不能用實(shí)現(xiàn)自
    定義窗體形狀方法來(lái)實(shí)現(xiàn)自定義控件形狀。繪制一個(gè)自定義形狀的控
    件, 我們可以用vs.NET FRAMEWORK 中提供了一個(gè)繪制圖形類的方
    法來(lái)完成?梢哉J(rèn)為控件就是一個(gè)占有一定屏幕面積的自動(dòng)生成的形
    狀。.NET Framework 中提供了一系列的類, 來(lái)實(shí)現(xiàn)這種繪制功能。只要
    了解控件的產(chǎn)生( 繪制) 過(guò)程, 我們可以來(lái)實(shí)現(xiàn)產(chǎn)生各種形狀的控件。
    事實(shí)上, 可以認(rèn)為控件是繪制出一個(gè)形狀后, 將一系列的控件屬性設(shè)
    置到這個(gè)形狀上, 一個(gè)個(gè)性化的控件就形成了。.NET Framework 中提
    供了一個(gè)GraphicsPath 類, 它可用一系列的直線和曲線來(lái)繪制形狀。
    先用這個(gè)類按要求繪制一個(gè)形狀, 然后將控件的“區(qū)域”屬性設(shè)置到這
    個(gè)形狀上來(lái)。這時(shí), 這個(gè)形狀就“相當(dāng)于”一個(gè)控件了。按下面的步驟就
    可完成一個(gè)性化的控件,首先創(chuàng)建一個(gè)GRAPHICSPATH 類的實(shí)例,然
    下載地址
     下載地址1
    按字母檢索

    下載須知:
    大部份資源無(wú)需注冊(cè)即可下載
    需要積分的資源要在會(huì)員中心注冊(cè)會(huì)員并用 積分體系中提示的方法賺取積分才能下載。

    免責(zé)聲明:
    所有資源只能用于參考學(xué)習(xí),不能用于任何商業(yè)用途,否則后果自負(fù)!