YiAnAuto 2021-05-04 08:32 采纳率: 0%
浏览 46

winForm窗口隐藏父窗口显示子窗口时,父窗口先移动一下位置再隐藏,为什么?

代码如下

    private void BtnLogin_Click(object sender, EventArgs e)
        {
            if (combUName.Text.Trim() == "" || txtUserPassword.Text.Trim() == "")
            {
                MessageBox.Show("用户名或者密码不能为空,请重试!");
                return;
            }
            userInfo = new UserInfo
            {
                UName = combUName.Text.Trim(),
                UPwd = txtUserPassword.Text.Trim()
            };
            userInfo = userInfoBll.SearchUserInfo(userInfo);
            if (userInfo != null)
            {
                this.Visible = false;
                DelayLoginTimer.Enabled = false;
                using (MainFrm mainFrm = new MainFrm(userInfo))
                {
                    mainFrm.ShowDialog();
                }
            }
            else
            {
                MessageBox.Show("用户名或者密码错误或者不存在,请重试!");
            }


        }

效果如图:

我逐一排查,发现是数据库查询这段出现了问题,

 userInfo = userInfoBll.SearchUserInfo(userInfo);

我注释掉这句话,就没问题,但是我看我数据库查询代码,没有任何特别之处啊。

 public UserInfo SearchUserInfo(UserInfo userinfo)
        {
            userInfoList = userInfoDal.Find(userinfo);
            if (userInfoList == null) return null;
            return userInfoList[0];
        }


 public List<UserInfo> Find(UserInfo userinfo)
        {
            try
            {
                string cmdstr = "select * from UserInfo where UName='" + userinfo.UName + "' and UPwd='" + userinfo.UPwd + "'";
                DataTable dt = AccessHelper.Search(constr, cmdstr);
                if (dt == null|| dt.Rows.Count <= 0) return null;
                List<UserInfo> userInfoList = new List<UserInfo>();
                foreach (DataRow row in dt.Rows)
                {
                    userInfo = new UserInfo
                    {
                        UID = Convert.ToInt32(row["UID"]),
                        UName = row["UName"].ToString(),
                        UPwd = row["UPwd"].ToString(),
                        UType = Convert.ToInt32(row["UType"]),
                        UOther = row["UOther"].ToString()
                    };
                    userInfoList.Add(userInfo);
                }
                return userInfoList;
            }
            catch (Exception ex)
            {
                string errorfile = Logs.GetCurSourceFileName();
                int errorline = Logs.GetLineNum();
                Logs.WriteLog(ex.Message, errorfile, errorline, 2);
                return null;
            }
        }

请各位大哥们指点一下。

  • 写回答

1条回答 默认 最新

  • YiAnAuto 2021-06-15 16:57
    关注

    大家都不知道吗

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘