C# 桌面应用WPF(适配 .NET Framework)-- 控件使用与交互事件(增加注册页面和登录页面之间的跳转)

一、项目结构说明

WpfLoginApp_Framework/
├── bin/ # 编译输出目录
├── obj/ # 编译中间文件目录
├── .vs/ # Visual Studio 隐藏目录
├── App.xaml # 应用程序入口 XAML
├── App.xaml.cs # 应用程序入口后台代码 (通常用于设置启动窗口)
├── MainWindow.xaml # 登录界面 XAML
├── MainWindow.xaml.cs # 登录界面 后台代码
├── RegistrationWindow.xaml # 用户注册界面 XAML
└── RegistrationWindow.xaml.cs # 用户注册界面 后台代码
├── WpfLoginApp_Framework.csproj # 项目文件
└── users.txt # 用户信息存储文件 (运行时生成)

二、新增的部分(对比https://blog.csdn.net/yiqixxb/article/details/148136811?spm=1011.2415.3001.5331)

> RegistrationWindow.xaml:定义了用户注册界面的 UI。
RegistrationWindow.xaml.cs:包含了用户注册界面的后台代码,处理输入、验证、文件保存和跳转逻辑。
users.txt:运行时生成,用于存储注册的用户信息。
MainWindow.xaml.cs 中的 Login_Click 方法被修改,增加了读取 users.txt 进行验证以及在文件不存在时跳转到注册页面的逻辑。
RegistrationWindow.xaml.cs 中的 Register_Click 方法被修改,增加了输入验证、检查用户是否存在、保存用户到文件以及注册成功后跳转回登录页面的逻辑。

三、流程

> 1、应用启动时,检查 users.txt 文件是否存在。
2、如果文件不存在,直接显示注册窗口。
3、如果文件存在,显示登录窗口。
4、在注册窗口,用户输入信息后点击注册。
5、进行输入验证,验证失败则显示错误。
6、验证成功后,检查用户名是否已存在,已存在则显示错误。
7、用户名不存在,将用户信息保存到文件,显示注册成功,然后关闭注册窗口并打开登录窗口。
8、在登录窗口,用户输入凭据后点击登录。
9、读取 users.txt 文件,读取失败则显示错误。
10、读取成功后,在文件中查找匹配的用户名和密码。
11、找到并匹配成功则显示登录成功(后续可跳转)。
12、未找到或密码不匹配则显示用户名或密码错误。
13、登录或注册窗口的取消按钮会关闭当前窗口。

四、总结

> 基于原有的登录界面 (MainWindow) 和对 WPF 架构、XAML 语法、基础布局与控件、事件模型的了解,我们在第二阶段重点实践了:
1、更多控件的使用:
引入并使用了 DatePicker 控件,让用户能够方便地选择出生日期。
引入并使用了 ComboBox 控件,提供国家/地区的下拉选择列表。
使用了 CheckBox 控件,让用户可以选择多个偏好项。
继续使用了 TextBox, PasswordBox, Button, TextBlock 等基础控件。
2、复杂的布局:
为了更好地组织注册界面的多个输入项及其对应的标签,我们使用了 Grid 布局容器,通过行和列来精确控制控件的位置和对齐。
在偏好选择部分,使用了 StackPanel 来垂直排列多个 CheckBox。
3、控件交互与事件处理:
通过“注册”按钮的 Click 事件 (Register_Click),我们演示了如何在后台代码中获取不同类型控件的用户输入值和选择状态:
TextBox.Text
PasswordBox.Password
DatePicker.SelectedDate
ComboBox.SelectedItem (并通过 ComboBoxItem.Content 获取文本)
CheckBox.IsChecked
实践了如何在一个事件处理方法中收集来自多个控件的信息。
4、消息框与基本反馈:
使用 MessageBox.Show() 来向用户显示注册信息、输入验证失败的警告以及文件操作相关的错误提示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值