2011-05-13 55 views
1

Visual Studio 2008中的一个奇怪问题我有一个包含多个表单的winforms应用程序。Visual Studio 2008设计器中的方形鼠标指针

在我的一个表单中,鼠标指针在箭头周围有一个正方形,就像在附加图像中一样。无论我尝试了什么,我都无法摆脱它。广场一直跟着鼠标指针一起移动。看起来很有趣,但真的很令人沮丧,因为我根本无法使用拖放功能。这阻止了我与设计师合作。想象一下,我无法抓住任何控制的边缘来调整它的大小。我可以移动的控制,但...

什么讲究这种形式,它是由另一种形式得到的,就像这样:

public partial class MyForm : BaseForm 

BaseForm也从Form的。我会说什么也不少见。

谢谢你的任何想法。 enter image description here

后来编辑: 我找到了为什么我进入MyForm的设计器时出现错误。 BaseForm有一个Microsoft.Reporting.WinForms.ReportViewer组件。该组件是作为私人成员添加的。 与MyForm的设计师一起工作时,VS自动为MyForm生成一个新的Microsoft.Reporting.WinForms.ReportViewer成员,所以我得到了两个具有相同名称的成员。一个在基类中定义,一个在派生类中定义。 我通过声明基类的成员为public并重新生成派生类来解决这个问题,所以不需要重复。 无论如何,不​​幸的是,这并没有解决我的设计师与鼠标光标的问题...

+0

问题只存在于特定形式吗?即。一般不在你的系统上,而在你的应用程序中没有其他形式?你的应用程序中是否有其他表单?如果没有,你可以尝试添加另一个从正常形式下降,看看是否有这个问题?如果没有,你可以发布你已经实现的BaseForm或MyForm上的哪些事件? – 2011-05-13 21:48:56

+0

@Lasse好吧,我以某种方式缩小了这个问题。有时,当我打开设计师时,我得到一个异常。我会回来更详细的... – Adi 2011-05-13 22:03:47

+0

阿迪,我有同样的问题。你怎么修好它的? http://stackoverflow.com/q/28418910/153923 – jp2code 2015-02-09 20:55:22

回答

0

很可能是BaseForm在其构造函数或其他事件处理程序中的soe逻辑,应该在运行时运行但不在DesignTime。

你可以使用:

if (!this.DesignMode) 
{ 
    // runtime only 
} 

来阻挡在设计模式

0

您是否尝试过一些逻辑,

Cursor = Cursors.Default; 

或将其设置为其他游标价值?

相关问题