C# WinForm 关闭登陆窗体后进程还再内存怎么办?
2024-08-29 13:21:14
问题:我们通常再制作WinForm应用程序的时候,运行程序的第一个窗口一般是登陆窗口。代码如下:
那么这种方式有一个弊端,这种启动方式,其实就是把登陆窗口设置为主窗体。因此,再登陆后,我们通常是调用Hide()方法将 这个登陆窗体隐藏,因此其实这个窗体还是占用内存。
那么,点击登陆后,调用Close()方法可以不?当然不可以,这种方式下,登陆窗口是主窗体,调用Close()就等于把整个程序关闭了。
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new LoginForm()); }
我多番搜索和实践。由下面方法实现:
环境:开发环境Visual Studio 2010 LoginForm.cs是登陆窗口 MainFrom.cs是程序主窗口
主要思想:程序运行后先打开登陆窗口,主窗体在登陆窗口Login.DialogoResult==DialogReesult.OK时运行主窗体
实现方法:
首先在解决方案管理器(Program.cs)里的代码
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//Application.EnableVisualStyles();
//Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new LoginForm());
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form Login = new LoginForm();
Login.ShowDialog();//显示登陆窗体
if (Login.DialogResult == DialogResult.OK)
Application.Run(new MainForm());//判断登陆成功时主进程显示主窗口
else return; }
}
然后在登陆窗口(LoginForm.cs)的登陆按钮(bt_login)Click事件里:
private void bt_login_Click(object sender, EventArgs e)
{ if (this.tb_username.Text == "admin" && this.tb_password.Text == "")
{
this.DialogResult = DialogResult.OK;//关键:设置登陆成功状态
this.Close();
}
else
{
MessageBox.Show("用户名或者密码输入有误,请重新输入", "警告");
}
}
最新文章
- 原创 C++作用域 (二)
- npm 入门
- Nessus的安装/激活/更新
- Hibernate批量处理数据、HQL连接查询
- js判断当前的访问是手机还是电脑
- ubuntu安装 laravel 过程中出现: mcrypt php extension required 的问题 | 以及composer相关问题 | Nginx安装
- Git PHP提交
- Ubuntu下Django初体验(三)——django初体验
- [Netty 1] 初识Netty
- python成长之路16
- 微软系统工具套件SysinternalsSuite各个工具功能说明
- properties + IO 读取配置文件
- Android-重新包装Toast,自定义背景
- Linq常用List操作总结,ForEach、分页、交并集、去重、SelectMany等
- 《DSP using MATLAB》Problem 7.5
- javaWeb代码工程统计
- node.js安装后出现环境变量错误找不到node
- Linux中ls -l(ll)返回结果中的文件访问权限-rw-r--rw-
- Run ASP.NET MVC site on mac (mono/xamarin studio)
- Html概述
热门文章
- 使用hibernate读取hibernate.cfg.xml文件时碰到这个错误org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [/HibernateTest/src/hibernate.cfg.xml]
- css——被自己遗忘的css属性
- 7.MySQL优化---存储过程和存储函数
- 自定义php(NON-CORE WORDPRESS FILE) 引用 wordpress
- UVA - 11754 Code Feat (分块+中国剩余定理)
- hawq创建filespace,tablespace,database,table
- 关于讯飞语音SDK开发学习
- Mesos问题汇总
- 创建Task的多种方法
- UIButton 不同状态图片来回切换