加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-17 00:19:25 所属栏目:大数据 来源:网络整理
导读:在我的登录表单上,每当点击“btnLogin”时,似乎“frmLogin”和“frmMenu”的宽度和长度都会减少.这是什么原因?你怎么解决它?我不知道这是否与代码有关,但无论如何我都会链接它.谢谢. Imports System.Data.OleDbPublic Class frmLogin Public AdminDetails
在我的登录表单上,每当点击“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>
-->

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

>重建您的申请.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读