问题描述
用的是vs2005 C# 开发winform 程序。为了项目的安全,当用户点击主窗口的最小化按钮时,主窗口最小化到任务栏,
显示一个托盘图标,当当再次双击它时候,需要弹出一个窗口,输入密码正确才可以看到主窗口。
问题就在这里,弹出对话框到输入密码正确,然后才弹出主窗口。怎么样控制主窗口的显示与隐藏?说明,重构这个窗口问题不能解决。
mainFram fram = new mainFram();
fram.showDialog();这样的方法不行的。
用的是vs2005 C# 开发winform 程序。为了项目的安全,当用户点击主窗口的最小化按钮时,主窗口最小化到任务栏,
显示一个托盘图标,当当再次双击它时候,需要弹出一个窗口,输入密码正确才可以看到主窗口。
问题就在这里,弹出对话框到输入密码正确,然后才弹出主窗口。怎么样控制主窗口的显示与隐藏?说明,重构这个窗口问题不能解决。
mainFram fram = new mainFram();
fram.showDialog();这样的方法不行的。
解决方案 »
- C#做蓝牙开发,涉及到哪些技术与知识?请大家给些资料,最好有源码实例,越详细越好!多谢!
- web Service的动态加载
- 关于image resource的问题
- C# winform 如何访问另一个form里的控件?
- 请教软件基本功能的实现问题?
- NHibernate ISession save方法问题
- 使用Drawing.image的略缩图功能,第一次能生成,第二次运行就报GDI+错误
- 哪位高手来帮解决GDI+下面屏幕分辨率变化时的问题?
- 好要问一下老问题!希望各位兄弟能点化我
- 一段关于C#编码规范的简单英文。。。100分求
- 存储过程
- 数据库连接字符串写在配置文件中。如何在cs文件中获取它?
frmPwd frm=new frmPwd();//密码窗体对象
frm.showDialog();//密码窗体有个,"确定"按钮 ,单击事件
frmMain frm=new frmMain();
frm.visible=true;
主窗体部分代码:
private void Form1_SizeChanged(object sender, EventArgs e)
{
//窗体大小调整,如果最小化则在通知区域托盘中显示
if(this.WindowState==FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible=true;
}
} private void notifyIcon1_MouseDown(object sender, MouseEventArgs e)
{
//鼠标左键单击了托盘图标
if(e.Button==MouseButtons.Left)
{
Form2 frm=new Form2(); //显示要求输入密码的窗口
frm.ShowDialog();
if (frm.can_show == 1) //如果输入正确,则显示主窗体
{ this.Show(); //显示主窗体
this.WindowState = FormWindowState.Normal; //恢复主窗体为默认大小
notifyIcon1.Visible = false; //托盘图标不显示
this.ShowInTaskbar = true; //在任务栏中显示图标
}
frm.Dispose(); //释放输入密码的窗体
}
}输入密码的窗体的部分代码:
public int can_show = 0; //临时变量,判断是否正确输入用户名跟密码,决定是否可以显示主窗体,0-不是 1-是 private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "用户名" && textBox2.Text == "密码")
{
can_close = 1;
}
else
MessageBox.Show("用户名或密码错误");
}