当从键盘键入m,M时,在模态窗体打开form2,键入n,N,以非模态窗体打开form2.下面是我写的代码,错在哪?
if (e.KeyChar == 'm' && e.KeyChar == 'M')
            {
                Form2 fr = new Form2();
                fr.ShowDialog();
                this.Text = "模态模式";
            }
            if (e.KeyChar == 'n' && e.KeyChar == 'N')
            {
                Form2 f = new Form2();
                f.Show();
                this.Text = "非模态模式";
            }
求修改

解决方案 »

  1.   

    应该用或运算,而不是与运算,将&&改成||,就可以了。
      

  2.   

    if(e.KeyChar == 'm'||e.keychar=='M' || e.KeyChar == 'N' || e.keychar=='n'){}我只是按照你的说明修改。。其他的不是太懂。。
      

  3.   

    if (e.KeyChar == 'm' || e.KeyChar == 'M')
      {
      Form2 fr = new Form2();
      fr.ShowDialog();
      this.Text = "模态模式";
      }
      if (e.KeyChar == 'n'||e.KeyChar == 'N')
      {
      Form2 f = new Form2();
      f.Show();
      this.Text = "非模态模式";
      }
      

  4.   

    &&表示并且,||表示或
    &&全真为真,||有真为真
      

  5.   

    对于你的代码把&&运算符改成||运算符就可以了。