自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET窗體操作指南

開發(fā) 后端
VB.NET窗體有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET窗體操作技巧,包括介紹如何拖動(dòng)沒有邊框的窗體、多個(gè)窗體之間互相調(diào)用兩方面。

VB.NET窗體有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET窗體操作技巧,包括介紹如何拖動(dòng)沒有邊框的窗體、多個(gè)窗體之間互相調(diào)用兩方面。

一、如何拖動(dòng)沒有邊框的VB.NET窗體?

這個(gè)功能在VB6中,需要借助于API函數(shù)才能實(shí)現(xiàn)。而在VB.NET中,憑自己的功能就能實(shí)現(xiàn)。首先設(shè)置窗體的FormBorderStyle屬性為none以去掉窗體的邊框,然后在窗體上添加一個(gè)按鈕。

窗體中的代碼如下:

  1. Public Class Form1  
  2.   Inherits System.Windows.Forms.Form  
  3.  
  4.   Private mouse_offset As Point  
  5.   Private Sub form1_MouseDown(ByVal sender As Object, ByVal e As  System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown  
  6.    mouse_offset = New Point(e.X, e.Y)  
  7.   End Sub  
  8.  
  9. Private Sub form1_MouseMove(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove  
  10.   '按住鼠標(biāo)左右鍵均可拖動(dòng)窗體  
  11.   If e.Button = MouseButtons.Left Or e.Button = MouseButtons.Right Then  
  12.    Dim mousePos As Point = Sender.findform().MousePosition  
  13.    '獲得鼠標(biāo)偏移量  
  14.    mousePos.Offset(-mouse_offset.X, -mouse_offset.Y)  
  15.    '設(shè)置窗體隨鼠標(biāo)一起移動(dòng)  
  16.    Sender.findform().Location = mousePos 
  17.   End If  
  18. End Sub  
  19.  
  20. Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
  21.   '關(guān)閉窗體  
  22.   Me.Close()  
  23. End Sub  
  24. End Class   

二、多個(gè)窗體之間互相調(diào)用

在VB6中,多個(gè)窗體之間可以很方便地互相調(diào)用,如:在Form1中,只需要用一條“Form2.Show” 語句就能顯示窗體Form2。然而在VB.NET中窗體處理機(jī)制發(fā)生了很大的變化:在訪問窗體之前,你必須進(jìn)行窗體實(shí)例化;如果在項(xiàng)目中有多處代碼訪問同一窗體,則你必須把它的同一實(shí)例指針傳遞給這些代碼,否則新創(chuàng)建的窗體實(shí)例就不再是原先的窗體了。

下面的代碼實(shí)現(xiàn)窗體Form1和Form2之間互相調(diào)用,Form1為主窗體。Form1上的按鈕BtnShowFrm2的標(biāo)題為“顯示Form2”,F(xiàn)orm2上的按鈕BtnShowFrm1的標(biāo)題為“顯示Form1”。

1、Form1中的代碼:

  1. Public Class Form1  
  2. Inherits System.Windows.Forms.Form  
  3. '創(chuàng)建Form2的一個(gè)新的實(shí)例  
  4. Dim Frm2 As New Form2()  
  5.  
  6. Public Function Instance2(ByVal frm As Form2)  
  7. Frm2 = frm 
  8. End Function  
  9.  
  10. Private Sub BtnShowFrm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnShowFrm2.Click  
  11. '以下語句保證在Form2以及其他窗體中訪問Form1時(shí),  
  12. '都將得到Form1的同一個(gè)窗體實(shí)例。  
  13. Frm2.Instance(Me)  
  14. Frm2.Show()  
  15. Me.Hide()  
  16. End Sub  
  17.  
  18. End Class  

2、Form2中的代碼:

  1. Public Class Form2  
  2.   Inherits System.Windows.Forms.Form  
  3.   Dim frm1 As Form1  
  4.   '借助一個(gè)新增的Instance屬性來生成窗體frm1的實(shí)例  
  5.   Public Function Instance(ByVal frm As Form1)  
  6.    frmfrm1 = frm  
  7.   End Function  
  8.  
  9.   Private Sub BtnShowFrm1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)    
  10.    Handles BtnShowFrm1.Click  
  11.    Me.Hide()  
  12.    frm1.Show()  
  13.   End Sub  
  14.  
  15.   Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles  MyBase.Closed  
  16.    '如果Form2被關(guān)閉,則設(shè)置Form1的按鈕BtnShowFrm2不可用。  
  17.    frm1.BtnShowFrm2.Enabled = False 
  18.    frm1.Show()  
  19.   End Sub  
  20. End Class   

以上代碼全部在Windows XP,VB.NET下調(diào)試通過

【編輯推薦】

  1. 解析VB.NET如何連接數(shù)據(jù)庫
  2. 談?wù)刅B.NET數(shù)組的使用
  3. 淺談VB.NET中的跨進(jìn)程消息鉤子
  4. 十分鐘教你如何使用VB程序
  5. VB.NET語法快速入門
責(zé)任編輯:仲衡 來源: bianceng
相關(guān)推薦

2009-10-14 13:56:05

VB.NET數(shù)據(jù)窗體

2009-10-16 09:35:24

VB.NET制作透明窗

2010-01-13 09:31:39

VB.NET窗體打印

2009-10-14 15:20:21

VB.NET窗體指針

2009-10-14 15:34:29

VB.NET窗體編程模

2010-01-11 15:12:30

VB.NET特殊窗體

2009-10-26 17:53:50

VB.NET新窗體

2010-01-13 15:52:59

VB.NET浮動(dòng)窗體

2009-11-10 15:07:11

VB.NET窗體

2009-10-14 14:50:16

VB6.0VB.NET

2010-01-11 14:36:43

VB.NET安裝部署

2009-04-30 13:24:45

VB.NET 2008窗體應(yīng)用實(shí)例

2009-11-03 17:35:05

VB.NET窗體透明度

2009-11-03 17:31:01

VB.NET窗體

2010-01-07 16:51:56

VB.NET窗體鉤子

2010-01-08 14:07:47

VB.NET窗體傳值

2009-10-12 17:32:36

VB.NET窗體應(yīng)用技

2010-01-11 10:44:47

VB.NET多窗體

2010-01-11 15:31:04

VB.NET拖動(dòng)窗體

2010-01-07 15:37:35

VB.NET ForNext循環(huán)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)