无法在Windows窗体设计器上使用鼠标移动控件

48

我最近安装了Visual Studio 2013专业版,发现在Windows Forms应用程序项目类型中,在设计模式下无法移动任何控件。我尝试了一些替代方法,并发现以下内容:

  • 使用键盘可以移动控件
  • 通过拖动控件轮廓上的关键点可以调整控件大小
  • 可以使用“工具”菜单中的命令来对齐控件
  • 可以通过在设计器属性网格中手动设置“位置”字段来移动控件
  • 可以将控件停靠
  • 不能使用鼠标移动控件

此外,如下图所示,任何控件上都没有可见的指示控件可移动的“十”字形图标。

一个没有可见的十字形图标的表单

我尝试了以下方法,但还没有能够解决问题:

  • 创建一个新的项目和解决方案(同样的问题)
  • 创建一个新窗体(同样的问题)
  • 验证窗体和控件的“锁定”属性设置为“False”
  • 验证该表单是从“Form”继承的(这是一个标准的安装,也是我第一次使用它)
  • 在谷歌上搜索帮助(没有有效的方法)

如有建议,请告知,感激不尽。


无法重现。请通过http://support.microsoft.com联系微软支持。 - Lex Li
尝试重新安装VS2013? - jhyap
1
FYI:交叉只会出现在一些更复杂的容器控件中,而不是简单的按钮上。首先尝试重新启动VS,然后再重启您的PC。 - TaW
10个回答

85

我花了一些时间,但最终找到了一个解决方法,虽然不是答案。周期性地,我的电脑会停止允许我拖放任何东西。解决方法是按下Esc(Escape)键,这会立即恢复功能。


"这不会行......我可以拖动窗口。现在看,我按下Escape键然后......哦!它可行了!" 让我们投票吧 :) - Fetchez la vache
2
ESC对我没有任何作用。表单上的所有内容都无法使用鼠标移动。我可以使用箭头和控件进行移动。由于重新启动VS 2015企业版更新1也没有效果,我将尝试重新启动计算机。 - Marc Roussel
5
最终发现这是一个Windows 10的bug,我们重新启动电脑后它就像魔法般地解决了。我们发现当我们无法移动桌面上的图标时。 - Marc Roussel
我在VS 2013的数据集设计器中遇到了同样的问题,按下ESC键让我可以再次移动表格。非常感谢! - Andreas
抱歉,什么鬼...它确实起作用了,有人知道是怎么回事吗?我甚至重新启动了VS,问题仍然存在,所以也许像上面有人提到的那样,这是一个Windows问题。不过,我很想知道按Esc键是如何解决它的...我很震惊。 - Andrei Sfrent
显示剩余3条评论

35

我使用多个显示器时出现了这种情况。 将VS移动到主显示器(1号)即可解决问题。 问候


2
这对我起作用了!奇怪..让我想知道为什么会发生这种情况。 - Eric F
5
2020年12月,这对我也起作用了,使用的是VS 2019。 - A Burns
4
在VS 2019上对我有用。此外,我无法移动的控件位于选项卡控件内部。选项卡控件外的控件(即使在第二个显示器上)是可移动的。 - Tobbs
2
我在VS 2019中也遇到了同样的问题。感谢您的解决方案! - John Foll
2
我也试过了,很奇怪这个 bug 还在(2022 年 4 月,CS 2019)。 - Yeshurun Kubi
显示剩余3条评论

11

我知道这是一个比较老的帖子,但这个问题仍然存在。我在这里提供了一些可能适用于其他人的解决方法。其中最好的选择对我有用,但并不是一个永久性的解决方案。它可以帮助你完成你的项目。在主屏幕上设计你的表单,然后将VS移到副屏幕上编码。我使用的是笔记本,所以我不喜欢在小屏幕上工作。

有些步骤很基础,但我想尽可能详细地介绍。有时候简单的解决方案就是最好的。

初步故障排除...

  • 将VS移动到主监视器(1) - 这对我有用,但仍然不能让我使用我的两个监视器
  • 运行安装程序,选择修复
  • 运行并取消你的项目
  • 按Esc键,看看是否恢复正常
  • 右键单击“锁定控件”表单。这应该没有蓝色轮廓,或右键单击表单/控件>“锁定控件”,确保没有任何内容被锁定。
  • 重建项目,关闭并重新打开表单。
  • 吸附到网格设置 - 工具>选项>Windows窗体设计器>常规
  • 以100%的比例重启VS - 绘图可能存在问题。我并不确定它是否存在,因为它在主屏幕上可以工作但是在第二个或第三个屏幕上无法工作。
  • 对于表单/控件设置停靠属性为none
  • 使用鼠标非常缓慢地移动项目 - 另一个指示绘图可能存在问题的迹象。
  • 控件可能无法停靠在其所属的容器中。重新启动VS。尝试双击该控件,然后移动它。我认为这表明在一个容器之外(例如在表单上)创建控件,将其拖入另一个容器(例如TabControl),然后控件无法在该TabControl内移动。此外,尝试在其预定容器内创建新控件,然后尝试移动它们。
  • 关闭VS,删除C:\ Users \ user.name \ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_xxxxxxxxx文件夹
  • 鼠标驱动程序-某些软件可能会导致问题。
  • 绝对定位-工具>选项> Web表单设计师> CSS样式>更改位置...
  • 右键单击工具箱下的任何项目,然后选择“重置工具箱”
  • 需要重新启动...

    • 关闭VS。 删除一些具有当前日期的配置文件(devenv.exe.config,toolbox.tbd,toolbox_reset.tbd,toolboxindex.tbd,toolboxindex_reset.tbd),然后重新启动PC。 这些文件位于类似于C:\ Users \ tdevy97 \ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_18c2eb4a的目录中,其中最后一个文件夹(15.0_18c2eb4a)是随机名称。 重新启动。 重启VS。

    • 工具箱出现问题?关闭Visual Studio,打开“c:\Users\AppData\Local\Microsoft\VisualStudio\14.0”文件夹并删除所有的.TBD文件,启动regedit,找到“HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\ToolboxControlsInstaller_AssemblyFoldersExCache”和“HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\ToolboxControlsInstallerCache”键,从这些键中移除所有内容,使它们为空,在移除之前备份你的注册表,重启计算机,再次运行Visual Studio,等待它重新创建工具箱中的所有项目。

    最后的手段...

    • 以管理员身份打开命令提示符,导航到“IDE”目录(C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE),运行以下命令...

      • devenv.exe /resetskippkgs,它会清除用户通过添加SkipLoading标签来避免加载问题VSPackages的所有标签。
      • devenv.exe /resetsettings,它会恢复Visual Studio默认设置。可选择将设置重置为指定的.vssettings文件。
      • devenv.exe /resetuserdata,它需要几分钟时间运行,因为Visual Studio会清理并将自己设置回原始状态。此时您可以打开任务管理器检查devenv.exe进程是否仍在运行。完成后,您可以重新启动Visual Studio。
  • devenv.exe /uninstall /force - 完全卸载。重启电脑。重新安装。加油!


  • 按下<ESC>键对我有用。我简直不敢相信...无论如何,谢谢! - Amarnasan

    9

    在我的情况下,我需要将Dock属性更改为None


    4

    我遇到了这个问题,试图使用一些上述方法解决,包括按下 Esc,重新启动和删除 AppData 中的文件夹,但这些都没有对我起作用。

    "解决办法"
    我的电脑是双屏幕设置,我最终发现,如果 Visual Studio 在 屏幕 1 上启动,然后移动到 屏幕 2,那么组件在被点击并拖动后会自动回到其初始位置。将 Visual Studio 窗口移回 屏幕 1 后,组件的点击和拖动正常了。我不确定造成这种问题的原因是什么,因为以前从未出现过这种情况,但对于使用双/多屏幕的任何人来说,这可能是“解决”问题的方法。


    1
    在尝试其他选项都没有成功之后,这个方法对我在双屏幕上起作用了。谢谢! - LastManStanding

    2

    我发现自己遇到了类似但略有不同的情况,即我可以拖动所有没有“十字”图标的控件,如按钮,但无法拖动任何具有“十字”图标的控件,例如组合框和面板。一个可行的解决方法是使用“箭头”键移动控件,但只有重新启动电脑才能解决问题。Brett Wolfington发布的解决方案在我的情况下无效。


    1

    这些解决方案都没有对我起作用。以下是对我有用的步骤:

    1. 关闭 Visual Studio
    2. 删除 Visual Studio AppData 文件夹,通常在 C:\Users\user.name\AppData\Local\Microsoft\VisualStudio。我的文件夹名为 15.0_b148b13d,但您的文件夹可能有类似的名称。

    删除后,Visual Studio 需要一些时间来初始化,但最终我可以拖动控件了。


    1

    找到解决方案了!

    我遇到了同样的问题: 按住鼠标按钮,试图移动元素,但没有效果!

    我的解决方法: 尝试在按下鼠标按钮后非常缓慢地移动元素-它有效! 我认为这可能与鼠标速度/加速设置有关。我将它们更改为最大值。我猜VS有问题。当我一开始缓慢移动鼠标时,它就可以正常工作!


    是的,情况确实如此。移动鼠标要非常缓慢,当控件被拖动时,您可以更快地拖动。在这种情况下,对齐建议不起作用。 - bjan

    1

    回答一个略微不同的问题,但我的谷歌搜索把我带到了这里,也许对其他人有所帮助。

    如果没有任何移动效果,甚至使用键盘也无法移动,请检查“锁定”属性。在我的同事项目中,这就是原因,所以我没有意识到他已经锁定了它。

    控件也有一个小锁图标,所以如果你仔细看你会注意到。


    0

    看起来是一个绘图错误。控件实际上是在移动,但在你看到它之前有一个短暂的时间延迟!


    4
    尽管我不能代表每个遇到这个问题的人,但在我的情况下,错误并不是绘图错误或延迟造成的。 - Brett Wolfington

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接