C#WPF实现弹出用户登录窗体并从登录窗体传输bool值给主窗体,主窗体发现bool变化后执行mainload方法
时间: 2023-12-06 21:03:51 浏览: 28
好的,我可以为您提供这样的实现思路:
1. 创建一个WPF窗体作为登录窗体,并添加用户名和密码的输入框以及登录按钮。
2. 在登录按钮的Click事件中,验证用户名和密码是否正确,如果正确则将一个bool类型的变量设置为true,并关闭登录窗体。
3. 在主窗体中,在窗体的Loaded事件中添加一个判断,如果bool变量为true,则执行mainload方法。
4. 在主窗体中创建一个方法mainload,实现主窗体的初始化操作。
下面是一个简单的示例代码:
LoginWindow.xaml.cs
```
public partial class LoginWindow : Window
{
public bool IsLoginSuccess { get; set; }
public LoginWindow()
{
InitializeComponent();
}
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
// 验证用户名和密码是否正确
bool isUserValid = true; // 假设用户名和密码都正确
if (isUserValid)
{
IsLoginSuccess = true;
this.Close();
}
else
{
MessageBox.Show("用户名或密码错误!");
}
}
}
```
MainWindow.xaml.cs
```
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Loaded += MainWindow_Loaded;
}
private void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
LoginWindow loginWindow = new LoginWindow();
loginWindow.ShowDialog();
if (loginWindow.IsLoginSuccess)
{
mainload();
}
else
{
this.Close();
}
}
private void mainload()
{
// TODO: 执行主窗体的初始化操作
}
}
```
希望这个示例代码能够对您有所帮助!