form1的button点击后,将form1隐藏,然后show出form2界面.因为form2的界面在show出来之前先要加载很多东东,所以我想在这个加载的过程中将鼠标变成沙漏状态,我就从加载数据开始,把cursor设置成WaitCursor,加载完成后设置回Default,可是发现,form2界面没出现时,鼠标形状是不会改变的...汗..这个是怎么回事呢..

解决方案 »

  1.   

    不光要设置cursor属性,还有个“UseWaitCursor”属性要设置为true,因为系统缺省是false。
    请lz确认下UseWaitCursor这个属性设为true没?
      

  2.   

    也设置了...我还试了下,将form1和fomr2界面的cursor都设置成WaitCursor,可是在切换的过程中,只要form2界面没出现,鼠标就不会变成沙漏= =
      

  3.   


    应该是这样的哦,因为这些属性都是设置到form上的,如果form没出现,沙漏鼠标应该也不会出现,我再试试有什么解决方法不,呵呵。
      

  4.   

    我试了一下,如果两个Form都没有显示的话,我推测:这时焦点已经切换到其他应用程序了,所以这时的鼠标也是其他应用程序对应的鼠标事件了,我们可能没办法控制。看看能不能这样,当form1按下按钮时,form1的鼠标状态设置为等待,这个时候后台加载form2,当form2完成加载时候,显示form2,同时将form1隐藏。大致的代码如下,这个是form1对应按钮的点击事件:
            private void button1_Click(object sender, EventArgs e)
            {
                // 将鼠标设为等待状态
                this.UseWaitCursor = true;
                this.Cursor = System.Windows.Forms.Cursors.WaitCursor;            // 创建form2
                Form2 form2 = new Form2();
                form2.Show();  // 这里只能用Show而不能用ShowDialog,lz试一下就知道原因了。
                
                // form2创建完毕后隐藏form1
                this.Visible = false;        }