点击" btnLogin",我的表单会减小。

时间:2018-01-16 01:09:42

标签: vb.net visual-studio ms-access

在我的登录表单上,每当点击" btnLogin"好像" frmLogin"还有" frmMenu"减小宽度和长度。这是什么原因?你怎么解决它?我不知道它是否与代码有关,但无论如何我都会链接它。谢谢。

Imports System.Data.OleDb
Public Class frmLogin
    Public AdminDetails As Boolean
    Public SuccessfulLoginUsername As String
    Dim provider As String
    Dim dataFile As String
    Dim connString As String
    Dim myConnection As OleDbConnection = New OleDbConnection
    Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
        provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="

        dataFile = Application.StartupPath & "\SAC1 Database.mdb"
        connString = provider & dataFile
        myConnection.ConnectionString = connString


        Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM [tblUsers] WHERE [Username] = '" & txtUsername.Text & "' AND [Password] = '" & txtPassword.Text & "'", myConnection)
        myConnection.Open()
        Dim dr As OleDbDataReader = cmd.ExecuteReader
        Dim userFound As Boolean = False
        Dim FirstName As String = ""
        Dim LastName As String = ""

        While dr.Read
            userFound = True
            FirstName = dr("FirstName").ToString
            LastName = dr("LastName").ToString
        End While

        If userFound = True Then
            If txtUsername.Text = "admin" And txtPassword.Text = "password" Then
                AdminDetails = True
                SuccessfulLoginUsername = txtUsername.Text
            Else
                AdminDetails = False
                SuccessfulLoginUsername = txtUsername.Text
            End If
            frmMenu.Show()
            frmMenu.lblTitle.Text = "Welcome " & FirstName & " " & LastName
            frmMenu.lblGreeting.Text = "Howdy! " & FirstName & " " & LastName & ". What would you like to do today?"
        Else
            MsgBox("Sorry, username or password not found", MsgBoxStyle.OkOnly, "Invalid Login")
        End If
        myConnection.Close()
    End Sub

    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
        Close()
        End
    End Sub

    Private Sub linklblCreateAccount_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles linklblCreateAccount.LinkClicked
        frmCreateAccount.Show()
    End Sub
End Class

1 个答案:

答案 0 :(得分:6)

这可能是DPI意识的问题。具体来说,您的应用程序未声明为DPI识别,并且当您的代码访问Microsoft.ACE.OLEDB提供程序时,其进程将设置为支持DPI。这是我不久前偶然发现的,但我从未见过其他人报告过它。

简单的解决方案是让您的应用程序了解DPI。

  1. 从项目菜单中,选择"您的项目名称" -Properties。
  2. 选择应用程序选项卡,然后单击"查看窗口设置"按钮。
  3. 根据您的VS版本,您可能会或可能不会在文件中包含以下内容。
  4. <!--
    <application xmlns="urn:schemas-microsoft-com:asm.v3">
      <windowsSettings>
        <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
      </windowsSettings>
    </application>
    -->
    

    如果找到此块,则删除第一行和最后一行(&#34;&lt;! - &#34;和&#34; - &gt;&#34;)。如果它不存在,请在文件中的最后一个标记之前添加这些行。

    1. 重建您的申请。
相关问题