代码之家  ›  专栏  ›  技术社区  ›  Run CMD

罗技G9导致PC光标(有时)卡在SizeAll

  •  0
  • Run CMD  · 技术社区  · 14 年前

    我们注意到一些奇怪的游标行为,我们怀疑这是我们的一个游标存储方法的结果。只是有时候,我们的电脑总是显示SizeAll光标。无处不在,在每一个应用程序中。现在,我们在代码中的任何地方都不使用SizeAll游标,但是当执行下面的代码时,我们可以“取消”游标。

    代码怎么了?

    static class GlobalVars
    {
    
        private static Cursor handOpenCursor;
    
        public static Cursor HandOpenCursor
        {
    
            get 
            {
                if (handOpenCursor == null)
                {
                    string cursorPath = System.IO.Path.Combine( ApplicatiePaths.ImagePath, @"hand_open.cur" );
                    handOpenCursor = new Cursor(cursorPath);
                    return handOpenCursor;
                }
                else
                {
                    return handOpenCursor;
                }
            }
            set 
            {
                handOpenCursor = value;
            }
        }
    }
    
    
    .....
    
    
    
    private static void panel_MouseUp(object sender, MouseEventArgs e)
    {
        ((Control)sender).Cursor = GlobalVars.HandOpenCursor;
    }
    
    2 回复  |  直到 13 年前
        1
  •  0
  •   Denis Palnitsky    14 年前

    我不知道这个静态类有什么问题,只是它是线程不安全的。另一件事是,如果您为某个操作设置自定义游标,则需要将游标重置为正常状态。 例如,在这种情况下:

      this.Cursor = Cursor.Wait;
      throw new Exception();
      this.Cursor = Cursor.Default;
    

    光标将不会重置。

        2
  •  0
  •   Run CMD    14 年前

    当光标卡住时,我转到控制面板->鼠标->指针方案,选择正确的方案(windows默认),但该方案的所有游标大小都相同所有游标?!?!

    我怀疑是G9司机造成了这种疯狂的行为。