微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – 当点击“btnLogin”时,我的表单会减小.

在我的登录表单上,每当点击“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
这可能是DPI意识的问题.具体来说,您的应用程序未声明为DPI识别,并且当您的代码访问Microsoft.ACE.OLEDB提供程序时,其进程将设置为支持DPI.这是我不久前偶然发现的东西,但我从未见过有人报告过它.

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

>从“项目”菜单中,选择“您的项目名称” – 属性.
>选择“应用程序”选项卡,然后单击“查看窗口设置”按钮.
>根据您的VS版本,您可能会也可能不会在文件中包含以下内容.

<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
  <windowsSettings>
    <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
  </windowsSettings>
</application>
-->

如果找到此块,则删除第一行和最后一行(“<! - ”和“ - >”).如果它不存在,请在文件中的最后一个标记之前添加这些行.

>重建您的申请.

原文地址:https://www.jb51.cc/vb/255440.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐