十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
問題補充:我用VB.NET寫的,F(xiàn)ORM2用來實現(xiàn)數(shù)據(jù)采樣并顯示實時曲線,關閉后再'取消FORM2的關閉 這樣就把FORM2隱藏起來了,需要調(diào)出來的時候只需以下代碼
創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務鐵東,十多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220
方法1.將FormBorderStyle的值設為None
方法2.或?qū)ontrolBox的值設為false
方法3.如查你僅僅是要將關閉按鈕disable的話,請雙擊窗體,后將以下代碼替換窗體中的所有代碼。
Public Class Form1
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Integer, ByVal bRevert As Integer) As Integer
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Integer, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer
Private Const MF_REMOVE = H1000
Private Const SC_COLSE = HF060
Private Const SC_MAXIMIZE = HF030
Private Const SC_MINIMIZE = HF020
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
RemoveMenu(GetSystemMenu(Me.Handle, 0), SC_COLSE, MF_REMOVE) '//關閉
RemoveMenu(GetSystemMenu(Me.Handle, 0), SC_MAXIMIZE, MF_REMOVE) '//最大化
RemoveMenu(GetSystemMenu(Me.Handle, 0), SC_MINIMIZE, MF_REMOVE) ’//最小化
End Sub
End Class
這樣的話你就不要直接把子窗口show出來,先在父窗口創(chuàng)建一個子窗口對象的變量,通過實例化該變量達到創(chuàng)建子窗口的目的,然后在下次又要打開子窗口時也可以通過該變量關閉原有的子窗口
示例代碼如下(假設Form1為父窗口,F(xiàn)orm2為子窗口):
Form1的代碼:
Public
Class
Form1
Dim
nform
As
Form2
=
Nothing
Private
Sub
Button1_Click(ByVal
sender
As
System.Object,
ByVal
e
As
System.EventArgs)
Handles
Button1.Click
If
nform
IsNot
Nothing
Then
nform.Close()
nform.Dispose()
End
If
nform
=
New
Form2
nform.Show()
Me.Hide()
End
Sub
End
Class
通過nform變量,你可以很輕易就處理掉原來已經(jīng)打開但隱藏著的子窗口了
1、如果上一個窗體是程序的主窗體(默認是程序的第一個窗體),
則不能關閉這個窗體,只能隱藏(Me.Hide())這個窗體,否則整
個程序就被關掉了。
2、如果上一個窗體不是程序的主窗體,可以用Me.Close()
關閉。