VS2003 Form 小问题!!!!
两个Form窗体,分别为Form1和Form2,在Form1上点击按钮btn1,显示Form2
我现在想实现“在Form2已经打开,并且最小化的时候,点击btn1,使Form2弹起来,不再是最小化形式”!!!
不知道各位 明白我的意思没有!!小弟这个问题着急!在线等!!!
[解决办法]
private Form2 frm2;private void button1_Click(object sender, System.EventArgs e){if(frm2 == null ||frm2.IsDisposed){frm2 = new Form2();} if(frm2.WindowState == FormWindowState.Minimized){frm2.WindowState = FormWindowState.Normal;}frm2.Show(); }
[解决办法]
樓上正解。
[解决办法]
其实真正的要打开一个最小化到任务栏的窗体应该用OpenIcon这个API:
bool OpenIcon(IntPtr hWnd);
用WindowState = FormWindowState.Normal
的原因应是因为在不用API的情况下的一个相似的操作,但实际上这两个的效果是不一样的.
因为一个OpenIcon可以正确的还原被最小化的那个窗体,比如原来是最大化的或正常的,那么OpenIcon后还会保持原来的状态,如果用WindowState这个属性,就会丢失原来的状态而只能是正常的样式(FormWindowState.Normal)窗口.