- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Windows 窗体应用程序:
这让我困惑了好几个小时。我正在尝试做的是,当我按住标签时,它会移动表格。
private void label1_MouseUp(object sender, MouseEventArgs e)
{
KeepMoving = false;
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
KeepMoving = true;
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (KeepMoving == true)
this.Location = new Point(MousePosition.X - (e.X + SystemInformation.FrameBorderSize.Width + label1.Left), MousePosition.Y - (e.Y + SystemInformation.CaptionHeight + label1.Top));
}
是我正在使用的(当然还有公共(public) bool KeepMoving。)
如果我删除 e.X 和 e.Y,一切正常,但它是相对于标签左上角的位置,但我想要标签本身的位置。
当我使用消息框显示标签上的 e.X 和 e.Y 坐标时,数字是正确的,显示了我在标签上单击的位置。当我使用上面代码中的点时,无论我点击标签上的哪个位置,数字都不会改变,当我尝试移动它时,它会猛增到 30k+ 范围。
为什么 MouseEventArgs 在我的等式中不起作用?对不起,如果我描述的不好,我已经尽力了。
最佳答案
跟踪标签左上角的初始偏移量并相应地调整表单的位置。
public bool KeepMoving = false;
private Point offset;
private void label1_MouseDown(object sender, MouseEventArgs e)
{
KeepMoving = true;
offset = new Point(e.X, e.Y);
}
private void label1_MouseUp(object sender, MouseEventArgs e)
{
KeepMoving = false;
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (KeepMoving)
{
Left += e.X - offset.X;
Top += e.Y - offset.Y;
}
}
关于c# - 为什么 MouseEventArgs 在等式中使用时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14649424/
我一直在关注 Create and use ASP.NET Core Razor components 我对这部分有疑问 @Title @ChildContent
我有一个图片框,一旦在其中单击鼠标,我需要获取框内鼠标位置的值。我可以使用以下代码执行此操作: public void pictureBox1_MouseClick(object sender, Mo
我目前正在开发我的一个项目,它是一个类似于 MSPaint 的 WPF 应用程序。但是,我不使用铅笔工具或类似的工具,而是使用对象(矩形、圆形、三角形等)进行绘画。我使用 Prism 和 MVVM 模
我在我的 WPF 应用程序中使用 RX 来跟踪鼠标移动。 与使用 RX 示例方法时相比,当直接订阅鼠标移动事件时,我在 MouseEventArgs 中获得了不同的来源。 为了便于说明,这里有一个简单
Windows 窗体应用程序: 这让我困惑了好几个小时。我正在尝试做的是,当我按住标签时,它会移动表格。 private void label1_MouseUp(object sender,
我看到了这个question我有同样的问题,但我在 View 模型中有命令。我可以像 CommandParameter 那样传递 MouseEventargs 吗?如何传递? acb:CommandB
我有一个包含很多很多控件的表单。我需要检测鼠标是向下还是向上。大多数时候,我没有 MouseEventArgs。 没有 mouseEventArgs 是否有一种快速简便的方法来判断鼠标是否按下? 是否
我确定这有一个直接的答案,但我似乎无法弄明白。 我正在尝试使用我的 mousehover 事件添加一个 tooltip。过去,我使用过 mousemove 事件,但不幸的是,这意味着 tooltip
我正在尝试制作这种扩展方法。强制转换时出现错误,提示“无法将类型 T 转换为 MouseEventArgs”。难道我不能向上转换对象(因为 MouseEventArgs : InputEventArg
您好,我有一个 MDI 应用程序,其中一个子窗口处理许多鼠标事件。在我尝试从 e.Delta(鼠标定位器数量)获取值之前,一切都没有问题(e.Button、e.Location 等)。 e.Delta
我在使用 Forms 集成的 WPF 应用程序中为 NotifyIcon 设置了以下事件处理程序: void MyNotifyIcon_MouseDown(Object sender, System.
我确信这是一个 super 简单的过程,但我正在开发 C# UWP 应用程序并试图制作可拖动的用户控件,但在我的鼠标事件中我收到以下错误: CS1061“MouseEventArgs”不包含“GetP
我会尝试一点 Shapemoving 并编写以下应用程序:
我有一个矩形,当我点击它时,它会显示到另一个 View 我正在使用 Rectangle.Contains(e.Location)(e 是 MouseEventArgs)这在 SizeMode 正常时没
我有一种方法可以检测 visual studio 通过双击表单产生的左键单击事件。 private void pictureBox1_Click(object sender, EventArgs e)
我是一名优秀的程序员,十分优秀!