Control.MousePosition 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取鼠标光标的位置(以屏幕坐标表示)。
public:
static property System::Drawing::Point MousePosition { System::Drawing::Point get(); };
public static System.Drawing.Point MousePosition { get; }
member this.MousePosition : System.Drawing.Point
Public Shared ReadOnly Property MousePosition As Point
属性值
Point,它包含鼠标光标相对于屏幕左上角的坐标。
示例
下面的代码示例在鼠标光标位于树节点上时按 Alt+E 时,将标签置于 TreeNode 可编辑状态。 用户编辑标签后,在再次按下 ALT+E 键组合之前,无法再次编辑标签。 此示例要求你有一个 TreeView Form. 树视图还应在其Nodes集合中至少有一个TreeNode。
private:
void treeView1_KeyDown( Object^ /*sender*/, KeyEventArgs^ e )
{
/* If the 'Alt' and 'E' keys are pressed,
* allow the user to edit the TreeNode label. */
if ( e->Alt && e->KeyCode == Keys::E )
{
treeView1->LabelEdit = true;
// If there is a TreeNode under the mouse cursor, begin editing.
TreeNode^ editNode = treeView1->GetNodeAt( treeView1->PointToClient( Control::MousePosition ) );
if ( editNode != nullptr )
{
editNode->BeginEdit();
}
}
}
void treeView1_AfterLabelEdit( Object^ /*sender*/, NodeLabelEditEventArgs^ /*e*/ )
{
// Disable the ability to edit the TreeNode labels.
treeView1->LabelEdit = false;
}
private void treeView1_KeyDown(object sender, KeyEventArgs e)
{
/* If the 'Alt' and 'E' keys are pressed,
* allow the user to edit the TreeNode label. */
if(e.Alt && e.KeyCode == Keys.E)
{
treeView1.LabelEdit = true;
// If there is a TreeNode under the mouse cursor, begin editing.
TreeNode editNode = treeView1.GetNodeAt(
treeView1.PointToClient(System.Windows.Forms.Control.MousePosition));
if(editNode != null)
{
editNode.BeginEdit();
}
}
}
private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e)
{
// Disable the ability to edit the TreeNode labels.
treeView1.LabelEdit = false;
}
Private Sub treeView1_KeyDown(sender As Object, _
e As KeyEventArgs) Handles treeView1.KeyDown
' If the 'Alt' and 'E' keys are pressed,
' allow the user to edit the TreeNode label.
If e.Alt And e.KeyCode = Keys.E Then
treeView1.LabelEdit = True
' If there is a TreeNode under the mouse cursor, begin editing.
Dim editNode As TreeNode = treeView1.GetNodeAt( _
treeView1.PointToClient(System.Windows.Forms.Control.MousePosition))
If (editNode IsNot Nothing) Then
editNode.BeginEdit()
End If
End If
End Sub
Private Sub treeView1_AfterLabelEdit(sender As Object, _
e As NodeLabelEditEventArgs) Handles treeView1.AfterLabelEdit
' Disable the ability to edit the TreeNode labels.
treeView1.LabelEdit = False
End Sub
注解
该 MousePosition 属性返回一个 Point 值,该值表示引用属性时鼠标光标位置。 坐标指示屏幕上的位置,而不是相对于控件的位置,无论光标是否放置在控件上,都会返回。 屏幕左上角的坐标为 0,0。
该 MousePosition 属性与 Cursor.Position 该属性相同。