人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

VB.NET窗體設置技巧2則

VB.NET窗體設置技巧2則

更新時間:2022-07-07 文章作者:未知 信息來源:網絡 閱讀次數:

VB.NET窗體操作技巧兩則

2003-03-18· ·劉紅軍 劉樂坤 ··yesky



  一、如何拖動沒有邊框的窗體?

  這個功能在VB6中,需要借助于API函數才能實現。而在VB.NET中,憑自己的功能就能實現。首先設置窗體的FormBorderStyle屬性為none以去掉窗體的邊框,然后在窗體上添加一個按鈕。窗體中的代碼如下:

Public Class Form1
 Inherits System.Windows.Forms.Form

 Private mouse_offset As Point
 Private Sub form1_MouseDown(ByVal sender As Object, ByVal e As  System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
  mouse_offset = New Point(e.X, e.Y)
 End Sub

Private Sub form1_MouseMove(ByVal Sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
 '按住鼠標左右鍵均可拖動窗體
 If e.Button = MouseButtons.Left Or e.Button = MouseButtons.Right Then
  Dim mousePos As Point = Sender.findform().MousePosition
  '獲得鼠標偏移量
  mousePos.Offset(-mouse_offset.X, -mouse_offset.Y)
  '設置窗體隨鼠標一起移動
  Sender.findform().Location = mousePos
 End If
End Sub

Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 '關閉窗體
 Me.Close()
End Sub
End Class

   二、多個窗體之間互相調用

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

  下面的代碼實現窗體Form1和Form2之間互相調用,Form1為主窗體。Form1上的按鈕BtnShowFrm2的標題為“顯示Form2”,Form2上的按鈕BtnShowFrm1的標題為“顯示Form1”。

  1、Form1中的代碼:

Public Class Form1
Inherits System.Windows.Forms.Form
'創建Form2的一個新的實例
Dim Frm2 As New Form2()

Public Function Instance2(ByVal frm As Form2)
Frm2 = frm
End Function

Private Sub BtnShowFrm2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnShowFrm2.Click
'以下語句保證在Form2以及其他窗體中訪問Form1時,
'都將得到Form1的同一個窗體實例。
Frm2.Instance(Me)
Frm2.Show()
Me.Hide()
End Sub

End Class

  2、Form2中的代碼:

Public Class Form2
 Inherits System.Windows.Forms.Form
 Dim frm1 As Form1
 '借助一個新增的Instance屬性來生成窗體frm1的實例
 Public Function Instance(ByVal frm As Form1)
  frm1 = frm
 End Function

 Private Sub BtnShowFrm1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)    Handles BtnShowFrm1.Click
  Me.Hide()
  frm1.Show()
 End Sub

 Private Sub Form2_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles  MyBase.Closed
  '如果Form2被關閉,則設置Form1的按鈕BtnShowFrm2不可用。
  frm1.BtnShowFrm2.Enabled = False
  frm1.Show()
 End Sub
End Class

  以上代碼全部在Windows XP,VB.NET下調試通過

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 北海市| 酉阳| 揭西县| 诸城市| 澄江县| 嘉义市| 舒兰市| 兰西县| 陇南市| 个旧市| 东明县| 本溪市| 正安县| 高密市| 金塔县| 舞钢市| 遵化市| 麻城市| 任丘市| 儋州市| 河北区| 武清区| 长泰县| 阳朔县| 尼玛县| 铁力市| 洛阳市| 松阳县| 垦利县| 稻城县| 商洛市| 花莲市| 温泉县| 凤城市| 吴旗县| 苍梧县| 固安县| 樟树市| 大洼县| 阿坝县| 东台市|