protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch(keyData)
{
  case Keys.Shift|Keys.Z:
if(this.WindowState == FormWindowState.Maximized)
 {
  his.WindowState = FormWindowState.Minimized;
 }
else
 {
  this.WindowState = FormWindowState.Maximized;
 }
break;}

解决方案 »

  1.   

    Copy的时候漏东西的,sorryprotected override bool ProcessCmdKey(ref Message msg, Keys keyData)
    {
    if(keyData == (Keys.Shift|Keys.Z))
    {
    if(this.WindowState == FormWindowState.Maximized)
    {
    this.WindowState = FormWindowState.Minimized;
    }
    else
    {
    this.WindowState = FormWindowState.Maximized;
    }
    }

    return base.ProcessCmdKey (ref msg, keyData);
    }
      

  2.   

    首先把form的keypreview属性设为true
    再写如下代码
    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if(e.KeyValue==(char)Keys.Z  && e.Shift)
    {
    if(this.WindowState == System.Windows.Forms.FormWindowState.Normal )
    {
    this.WindowState=System.Windows.Forms.FormWindowState.Maximized;
    }
    else if(this.WindowState == System.Windows.Forms.FormWindowState.Maximized)
    {
    this.WindowState=System.Windows.Forms.FormWindowState.Normal ;
    }
    } }
      

  3.   

    前辈提供的代码为何此窗体为当前活动窗体时好用,不是当前活动窗体时不好用?
    为当前活动窗体时按Shift+Z可以切换。
    我把它最小化Minimized后,想在别的软件工作期间将其Normal ,为何不行?该怎么办?
      

  4.   

    不是当前活动窗体的话需要用到hook吧你的工程允许用hook吗?
      

  5.   

    为何无法从最小化状态恢复到Normal状态?
      

  6.   

    前辈,请问hook该如何用?体现在代码上的形式呢?
      

  7.   

    好像还得是全局Hook吧。有"谣言"说C#不能用全局Hook....郁闷了-_____________-b
      

  8.   

    其实什么也没做。能不能用hook...我也不确定,找哪些高人问问吧