2024-09-22 22:21:11 +08:00
|
|
|
|
# UILoginForm
|
|
|
|
|
---
|
|
|
|
|
- **UILoginForm**
|
|
|
|
|
登录窗体基类。
|
|
|
|
|
|
|
|
|
|
- 默认属性:Text
|
|
|
|
|
- 默认事件:OnLogin
|
|
|
|
|
- 属性列表
|
|
|
|
|
|
|
|
|
|
| 属性 | 说明 | 类型 | 默认值 |
|
|
|
|
|
|-----------|--------|--------|-------|
|
|
|
|
|
| Style | 主题样式 | UIStyle | Blue |
|
|
|
|
|
| StyleCustomMode | 获取或设置可以自定义主题风格 | bool | false |
|
|
|
|
|
| Title | 顶部标题 | string | - |
|
|
|
|
|
| SubText | 底部文字描述 | string | - |
|
|
|
|
|
| LoginImage | 背景图片 | UILoginImage | - |
|
|
|
|
|
| UserName | 用户名 | string | -|
|
|
|
|
|
| Password | 密码 | string | -|
|
|
|
|
|
| IsLogin | 登录是否成功| bool | -|
|
|
|
|
|
| Version | 版本 | string | - |
|
|
|
|
|
| TagString | 获取或设置包含有关控件的数据的对象字符串 | string | - |
|
|
|
|
|
|
|
|
|
|
- 事件
|
|
|
|
|
ButtonLoginClick:确定按钮点击事件,有此事件时不执行OnLogin。需要手动给IsLogin赋值。
|
|
|
|
|
ButtonCancelClick:取消按钮点击事件。
|
|
|
|
|
OnLogin:登录事件。ButtonLoginClick为空时才执行此时间,返回值为IsLogin。
|
|
|
|
|
|
|
|
|
|
- 主题风格
|
2024-09-23 22:21:59 +08:00
|
|
|
|
[主题](/theme)
|
2024-09-22 22:21:11 +08:00
|
|
|
|
|
|
|
|
|
- 主题设置
|
|
|
|
|
设置Style属性调用系统自带主题,如果需要自定义颜色,就是更改颜色属性后,把控件的Style设置为Custom,StyleCustomMode设置为True
|
|
|
|
|
StyleCustomMode就是接受用户自定义颜色的意思。
|
|
|
|
|
|
|
|
|
|
- 创建窗体
|
|
|
|
|
项目引用SunnyUI.dll和SunnyUI.Common.dll,或者从Nuget引用SunnyUI。
|
2024-09-23 22:21:59 +08:00
|
|
|
|
详见[安装](/install)
|
|
|
|
|
创建窗体:参考[UIForm](/UIForm)创建窗体
|
2024-09-22 22:21:11 +08:00
|
|
|
|
切记把窗体的AutoScaleMode从Font设置为None,否则可能出现因为屏幕分辨率而导致的窗体变形。
|
|
|
|
|
|
|
|
|
|
- 为什么继承的窗体,上面有小锁,能解开吗,还有就是继承的窗体,有些控件属性都设置不了,怎么办?
|
|
|
|
|
首先得了解窗体继承的概念,和类的继承是差不多的,窗体上有小锁的其实就是类似于类继承中父类的某个Private属性
|
|
|
|
|
为了保证继承窗体的UI设计,上面的某些控件是不让修改和移动的,所以有锁。
|
|
|
|
|
在使用时,父窗体一般都将其所用的控件的属性和事件进行了封装,可以正常使用。
|
|
|
|
|
举例:
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
- 继承的登录窗体的登录按钮有锁,但其点击事件已封装到父类的事件。
|
|
|
|
|
需要选中窗体,查看其事件:
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 通过代码创建
|
|
|
|
|
也可以不用创建窗体,直接通过代码创建,来实现登录过程
|
|
|
|
|
```c#
|
|
|
|
|
UILoginForm frm = new UILoginForm();
|
|
|
|
|
frm.ShowInTaskbar = true;
|
|
|
|
|
frm.Text = "Login";
|
|
|
|
|
frm.Title = "SunnyUI.Net Login Form";
|
|
|
|
|
frm.SubText = Version;
|
|
|
|
|
frm.OnLogin += Frm_OnLogin;
|
|
|
|
|
frm.LoginImage = UILoginForm.UILoginImage.Login2;
|
|
|
|
|
frm.ShowDialog();
|
|
|
|
|
if (frm.IsLogin)
|
|
|
|
|
{
|
|
|
|
|
UIMessageTip.ShowOk("登录成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
frm.Dispose();
|
|
|
|
|
```
|
|
|
|
|
在Frm_OnLogin事件里通过与数据库比对或者调用接口判断登录是否成功。例如:
|
|
|
|
|
```c#
|
|
|
|
|
private bool Frm_OnLogin(string userName, string password)
|
|
|
|
|
{
|
|
|
|
|
return userName == "admin" && password == "admin";
|
|
|
|
|
}
|
|
|
|
|
```
|