把第一个窗体最小化到任务栏,通过另一个窗体的按钮控制第一个窗体的显示,点击则还原窗体(原来是最大化就最大化,原来是正常 就正常),就像点击任务栏的窗体图标一样。估计也就是一句代码的事 可是我真不知道
解决方案 »
- 仍然是正则问题..
- HttpWebRequest 提交Post不成功
- C#中使用wm_getmessage钩子的问题
- 请教一个关于C# DataGrid 求和的问题
- 学习C#的困惑,希望高手来指点方向
- 关于读取MARC文件的问题!
- Winform 控件开发:如何让自定义的控件不响应或不显示UserControl继承来的某些事件
- 文件传输问题
- .net winform DataBinding一个小问题。回复人留email送.net2.0电子书(.chm格式):-)
- 如何把自己的个人计算机做成ftp服务器,使得其他远程个人计算机将数据发送到我的机器上。
- 要做一个C#扫雷小游戏,但是完全不知道到怎么下手
- 关于捕获异常的问题
首先
1.设置WinForm窗体属性showinTask=false
2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标。 // 这个控件是为了在任务栏显示小图标
3.添加窗体最小化事件(首先需要添加事件引用):
this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //添加窗体改变事件
private void Form1_SizeChanged(object sender, EventArgs e) //事件中的代码
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible = true;
}
}
脱出控件contextMenuStrip 4.可以给notifyIcon添加右键菜单:
主窗体中拖入一个ContextMenuStrip控件NicontextMenu,点中控件,在上下文菜单中添加菜单,notifyIcon1的ContextMenu行为中选中contextMenuStrip1即可。剩下的就是加事件了。设计页面上为他添加显示与退出按钮,然后为按钮上的控件添加事件;private void 显示ToolStripMenuItem_Click(object sender, EventArgs e) //显示按钮
{
if (this.ShowInTaskbar == false)
notifyIcon1.Visible = true;
this.ShowInTaskbar = true;
this.Show();
this.Activate();
this.WindowState = FormWindowState.Normal;
} private void toolStripMenuItem1_Click(object sender, EventArgs e) //退出按钮
{
Application.Exit();
}
下面代码为左键单击显示窗体
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left ) //如果左键选中,此事件只能是MouseEventArgs e的情况下调用
{
if (this.ShowInTaskbar == false)
notifyIcon1.Visible = true;
this.ShowInTaskbar = true;
this.Show();
this.Activate();
this.WindowState = FormWindowState.Normal;
}
}
用这个记录最小化前的状态,然后显示的时候再赋值就好了
然后在窗体的show()方法后面调用BringToFront()方法
form2.TopMost=true;
...
form2 f2=new form2();
f2.show();
f2.BringToFront();
你可以测试下 两个窗体 或者三个窗体 一个按钮控制
Form1 frm = new Form1();
...
FormWindowState fws = frm .WindowState;最小化
...//还原
frm.WindowState = fws ;//FormWindowState.Maximized;