我想在鼠標懸停在特定的ToolStripButton上時更改用戶的光標,但不希望ToolStrip上的其他項目。我該如何設置按鈕的光標?如何更改ToolStripButton的光標?
3
A
回答
1
您必須設置Toolstrip.Cursor屬性才能更改光標。是的,它會改變所有工具按鈕的鼠標光標。
爲了解決這個問題,爲工具欄上的每個按鈕創建一個OnMouseEnter事件,然後將整個工具條的光標設置爲該特定按鈕所需的光標。
7
由於ToolStripItem不從Control繼承,因此它沒有Cursor屬性。
您可以爲MouseEnter事件的形式光標,並恢復形式光標MouseLeave事件,VB範例如下:
Dim savedCursor As Windows.Forms.Cursor
Private Sub ToolStripButton1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripButton1.MouseEnter
If savedCursor Is Nothing Then
savedCursor = Me.Cursor
Me.Cursor = Cursors.UpArrow
End If
End Sub
Private Sub ToolStripButton1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripButton1.MouseLeave
Me.Cursor = savedCursor
savedCursor = Nothing
End Sub
更新
這裏是在相同的答案C#:
private Cursor savedCursor;
private void ToolStripButton1_MouseEnter(object sender, EventArgs e) {
if (savedCursor == null) {
savedCursor = this.Cursor;
this.Cursor = Cursors.UpArrow;
}
}
private void ToolStripButton1_MouseLeave(object sender, EventArgs e) {
this.Cursor = savedCursor;
savedCursor = null;
}
1
下拉到Win32並處理WM_SETCURSOR。您可以放入自己的自定義邏輯,根據按鈕的命中測試更改光標。 Check this article by Raymond Chen以更好地瞭解光標如何設置。
相關問題
- 1. 如何更改光標
- 2. 如何更改鼠標光標圖標?
- 3. 如何更改VIM中的光標鍵
- 4. 如何更改光標中的排序
- 5. 如何更改axShockwaveFlash的光標?
- 6. 如何更改按鈕上的光標?
- 7. 如何更改NetBeans中的光標(光標)閃爍率?
- 8. Java更改光標
- 9. 更改光標VB.NET
- 10. 更改光標隱藏光標
- 11. 如何更改光標圖像?
- 12. 如何使用jQuery更改光標?
- 13. 如何更改光標滾動事件
- 14. 如何更改光標類型
- 15. 如何使用extjs更改光標
- 16. Android如何更改edittext光標樣式
- 17. JavaScript更改光標圖標
- 18. 如何獲取ToolStripButton的座標?
- 19. 更改按鈕的光標
- 20. 更改光標的外觀
- 21. 如何更改派生ToolStripButton的默認圖像?
- 22. 如何更改tornado中的鼠標光標圖標Fx
- 23. 如何更改光標顏色而不更改文字顏色?
- 24. JavaScript光標更改(並再次更改)
- 25. 如何更改日食的鼠標光標的亮度
- 26. 如何更改ExtJS中的標記域的光標
- 27. 永久更改光標
- 28. 在NSTextView中更改光標
- 29. Python xlib更改光標
- 30. 拖動時更改光標
問題是關於C#。爲什麼這是在VB中? – 2016-05-10 12:44:35