【问题标题】:How can I set the cursor to the arrow-with-plus-sign on a winforms app?如何将光标设置为 winforms 应用程序上的加号箭头?
【发布时间】:2015-08-21 02:10:28
【问题描述】:

这是我要使用的光标。它在箭头下方有一个小加号:

当我尝试在我的 Windows 窗体应用程序中设置当前光标时,我会这样做(并且有效):

Cursor.Current = Cursors.WhateverCursor;

可以看到可用的光标here。值得注意的是,我没有看到我想要的。

我怎样才能得到那个小加号光标?

这又是一个列表,以防链接失效:

  • AppStarting
  • 箭头
  • 交叉
  • 默认
  • 帮助
  • HSSplit
  • IBeam
  • 没有
  • NoMove2D
  • NoMoveHoriz
  • NoMoveVert
  • 泛东
  • 泛尼
  • 泛北
  • PanNW
  • 泛色
  • 泛南
  • PanSW
  • 泛西
  • 全部尺寸
  • 尺寸NESW
  • 尺寸NS
  • SizeNWSE
  • 尺寸WE
  • 向上箭头
  • VSSplit
  • 等待光标

【问题讨论】:

    标签: c# windows winforms cursor


    【解决方案1】:

    系统光标只能让您走这么远。要获得更多信息,您需要使用外部资源..

    你应该创建一个合适的光标文件(somefile.cur),然后将它分配给当前光标:

            Cursor myCursor = new Cursor(yourCursorfile);
            Cursor = myCursor;
    

    要创建它,请使用一个不错的应用程序;我发现 Greenfish 可以正常工作(尽管它们自己的图标看起来很垃圾 ;-)

    确保避免使用颜色,因为上面的代码不适用于颜色,afaik。

    Here 是我在一个项目中使用的示例..

    【讨论】:

    • 这正是我最终所做的!这是我第一次涉足 .NET 和 Visual Studio 上的资源。 Resx 文件、嵌入式资源......我真的可以使用一篇关于它的好文章或书籍章节!
    【解决方案2】:

    如果您想将其用于拖放操作(通常是这种光标出现的地方),请查看DragDropEffects,我想这就是您要找的。​​p>

    【讨论】:

    • 我实际上并没有将它用于拖放事件!不过感谢您的指点。我会通读一遍,看看是否有帮助。
    • 我认为除了拖放操作之外的任何时候都不能使用它的原因是它只有在拖放过程中才有意义。我的 .02 让您的应用程序与 Windows 用户认可的 UI 标准保持同步。
    • 这绝对是一个问题。对于我几周后到期的原型来说,这总比没有好。之后我会做一个非常彻底的用户体验分析。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 1970-01-01
    • 2013-09-22
    • 2010-10-02
    相关资源
    最近更新 更多