我在窗体上放了个NotifyIcon,想实现窗口最小化后隐藏,双击NotifyIcon后显视窗口并恢复大小,很
简单的逻辑的,下面是代码:private void MainForm_Resize(object sender, System.EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Visible = false;
}
}private void notifyIcon_DoubleClick(object sender, System.EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
}如果在窗口正常大小状态时最小化符合预期效果,但是如果窗口在最大化时最小化,然后再双击NotifyIcon窗口又恢复成最大化,可这时如果点右上角中间的还原按钮,窗口并不还原成正常大小,而是还原化成最小化时的大小显视在屏幕上,不符合还原按钮的规则了.怎样才能恢复成最大化后点"还原",还原成正常大小的窗口? 不知道这样讲能不能明白 :)
简单的逻辑的,下面是代码:private void MainForm_Resize(object sender, System.EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Visible = false;
}
}private void notifyIcon_DoubleClick(object sender, System.EventArgs e)
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
}如果在窗口正常大小状态时最小化符合预期效果,但是如果窗口在最大化时最小化,然后再双击NotifyIcon窗口又恢复成最大化,可这时如果点右上角中间的还原按钮,窗口并不还原成正常大小,而是还原化成最小化时的大小显视在屏幕上,不符合还原按钮的规则了.怎样才能恢复成最大化后点"还原",还原成正常大小的窗口? 不知道这样讲能不能明白 :)
解决方案 »
- 关于DLL文件
- 如何在Form1中实现单击新建按钮后弹出Form2来采集信息,这时候Form1不可访问
- 判断IDictionary的KEYS 在不在我的IList里面
- C# 读取一个excel的数据,然后做成一个table表,接着我想对它里面的数据进行归类筛选
- 添加一个安装的项目,请问如何写里面的卸载功能?
- 如何测试自己的机器上的显卡是否支持WPF?
- 求助!求助!C#网络连接方案问题!
- 弹出窗口刷新父页面问题
- 请教一个继承事件的相关问题
- C#怎样打开关闭CDROM?
- [**** winform 如何遍历 application 中已经分配内存资源的form (也就是被 new() 过的 )*****]
- 急救!!急救!请教一下C#如何实现窗体最小化系统托盘
{
if(this.Visible==false)
{
this.WindowState=FormWindowState.Maximized;
this.Visible=true;
this.Activate();
}
else
{
this.WindowState=FormWindowState.Minimized;
this.Visible=false;
} }
这样就可以了………
你双击后则隐藏/显示窗体,点最大化/还原按钮都可以使用
WindowState = Normal, Size < 屏幕大小, Location > (0, 0)最小化之后,
WindowState = Minimized, Size/Location 没变, Visible = false双击trayicon之后,
WindowState = Normal, Size/Location 也没变最大化之后
WindowState = Maximized, Size = 屏幕大小,Location = (0, 0)最小化之后,
WindowState = Minimized, Size/Location 没变,Visible = false双击icon之后——注意
WindowState = /*注意*/Normal, Size/Location没变——全屏大小知道问题所在了没?因为你无论窗体原来的状态如何都一律设为Normal,导致你认为出现“bug”--------解决方法:在 Resize 方法里保存当前 WindowState 值到一个字段里(如果已经是Minimized就不要保存)双击icon之后,WindowState 赋值为保存的这个值。当然如果找到 "OnMaximized" "OnRestore" 这样的事件更好,但是1.1模型里没有,我也不懂Message,就只能用Resize来代替了