惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
有赞技术团队
有赞技术团队
H
Help Net Security
V
Visual Studio Blog
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 司徒正美
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
I
InfoQ
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
L
LangChain Blog
N
Netflix TechBlog - Medium
罗磊的独立博客
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
Hugging Face - Blog
Hugging Face - Blog
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
Recent Announcements
Recent Announcements

博客园 - 清雷

湘江老厨聚餐 我的青春 今日感想 东莞一日游 HP MC/SG 双机安装心得 周末的狂想 汉字转拼音的例子 回忆大学 Asp.Net下的DataGrid的多层表头 设置窗体背景图片,并且让图片随着窗体的大小的调整而调整大小 VS无法调试智能设备程序的解决方案 VS.Net下的新的单元测试工具-TestDriven.NET 怀念我的大学(2) windows消息大全 在.NET 中使用WIN32 API的宝库 一个封装的异步Socket客户端 一个很好的C#题目 开发.NET CF 蓝牙的通信模块 怀念我的大学(1)
显示主窗体前显示登陆窗口的完美解决方案
清雷 · 2005-09-13 · via 博客园 - 清雷

    想要在显示主窗体前先显示登陆窗口,于是在登陆窗体上设置"登陆","取消"两个Button,在VS中设置登陆按钮的DialogResult 是OK,取消按钮为Cancel.显示窗体时,用户点击登陆,如果用户的登陆信息是错误的,登陆窗体照样会关闭,这时候你不得不再次把登陆窗体给Show出来,这时候,你会发现要用一个while(true)的循环结构.
 每次看到while(true)的结构就觉的不爽,而且这种实现方式窗体会闪烁,在网上找了一些资料,都很不全,结合一下,给出了我的实现方式:
  首先,设置登陆按钮和取消按钮的DialogReuslt为none;
        然后,为登陆按钮添加单击事件:

private void button1_Click(object sender, System.EventArgs e)
        
{
            
if(user.Login())
            
{
                
this.DialogResult = DialogResult.OK;
                
this.Close();
            }

            
        }

   然后,改写Main函数:

    [STAThread]
        
static void Main() 
        
{
            LoginForm loginForm 
= new LoginForm();
            loginForm.ShowDialog();
            
if( loginForm.DialogResult.Equals(DialogResult.OK))
            
{
                Application.Run(
new MainForm());
            }

        }

这样一个完美的登陆模块就实现啦