如何在winform标签/文本框中显示POCO(类)文件的结果

时间:2015-10-26 05:35:09

标签: c# .net winforms entity-framework

我是c#的新手。我有个疑问。让我们来看一个实时的例子

  1. 假设我有一个登录winform,其中包含用户名和密码以及一个按钮。
  2. 我有一个poco C#文件,在点击按钮后获取用户名和密码的值。此C#poco文件与表单文件无关。它是单独的poco文件,它将处理登录身份验证
  3. 现在poco文件将生成结果说“登录成功”或“登录失败”
  4. 现在,如何在winform上显示poco文件的这个结果?
  5. 请提供适当的代码,以清除我的概念。

    谢谢

2 个答案:

答案 0 :(得分:1)

在按钮的单击处理程序中,可以调用身份验证类的身份验证方法(调用它时的POCO文件),并且可以以任何方式显示结果,例如使用消息框:

var loginResult = Authenticator.Authenticate(txtUserName.Text, txtPassword.Text, out userInfo);

if (loginResult == LoginResult.Success)
{
  // hide the authentication form, or unlock menu, toolbars, ...
}
else
{
  MessageBox.Show("Invalid user name or password");
  // the user stays on the login form and needs to press the login button again for another attempt
}

身份验证器类看起来很像:

public enum LoginResult
{
  Success,
  InvalidUserNameOrPasword,
}

public class UserInfo
{
  public int Id { get; set; }
  publi string Name { get; set; }
}

public class Authenticator
{
  public LoginResult Authenticate(string userName, string password, out userInfo)
  {
    // the logic to load the user from DB
  } 
}

答案 1 :(得分:1)

假设您的POCO类中有一个名为Authenticate的方法,该方法采用userid和pasword并对其进行身份验证。将此方法的返回类型指定为bool。验证成功后,返回true,否则false。现在,在按钮单击事件中,按如下方式编写代码。我假设userid文本框的名称为TxtUserId,密码文本框为TxtPwd,并且在名称为LblError的按钮下方有一个标签,以便在身份验证失败时显示错误消息。

bool success=POCOClassName/object.Authenticate(TxtUserId.Text,TxtPwd.Text);
if(success)
{
     //write the code to display a form that is accessible to authenticated users
}
else
{
     LblError.Text="UserId and or Password Is Wrong";
}