2012-04-26 42 views
0

下面是一些代码:如何使属性窗口中的自定义属性在通过代码进行更改时进行刷新?

​​

我想使属性窗口以更新X和Y在每个MouseMove事件的性质,使他们成为用户立即可见。我知道这很愚蠢,但这是我的任务。

enter image description here

有人可以帮我吗?

+0

你的代码令我困惑。显然这是运行时代码,因为在设计时没有MouseMove事件。但是你正在更新两个变量'PointerX'和'PointerY'。 “PropertyGrid”控件使用“对象”。它使用什么对象? – LarsTech 2012-04-26 17:16:05

+0

我没有使用PropertyGrid这样的控件。我对VB很不熟悉,不确定什么让你感到困惑。 – 2012-04-26 19:59:44

+0

我想我明白了......我没有,也不想创建一个自定义PropertyGrid控件。我想使用默认的,它会自动出现在运行模式中。 – 2012-04-26 21:11:53

回答

0

我强烈建议在WPF中使用OnPropertyChanged事件追踪此项目,以便在属性发生更改时通知所有侦听器。然后,使PropertyGrid监听它表示的对象上的所有这些事件,更新适当的属性。 WPF非常适合这种东西...

+0

对不起,我对VB不是很熟悉,也不完全确定如何做到这一点。你能给我举个例子吗? – 2012-04-26 19:51:01

+0

我可以为默认的PropertyGrid做到这一点,这是在运行时可见的(没有我在控件中创建一个新的)。我如何得到它的对象? – 2012-04-26 21:09:30

+0

有关WPF的介绍,请单击[此处](http://www.wpftutorial.net/WPFIntroduction.html)。有关使用属性通知的示例,请单击[此处](http://msdn.microsoft.com/zh-cn/library/ms743695.aspx)。 – therealmitchconnors 2012-04-26 21:50:54

0

这不是Windows窗体项目。

您创建了一个包含默认UserControl的Windows控件库,当您“运行”时,您看到您的UserControl被托管,这就是您看到PropertyGrid控件的原因。

您需要在解决方案中创建或添加一个新窗口应用程序,并将其设置为“Starup Project”(右键单击Form项目并选择“Set as Startup Project”)。

重建您的解决方案后,您的UserControl“Proj”将从ToolBox中提供,您可以将它放在窗体上。

+0

是的,我知道。即使我将它放在窗体上,我也需要使用窗体的默认PropertyGrid来显示和刷新坐标,所以我相信问题依然存在。我如何获得默认的PropertyGrid对象(表单或控件,它是相同的)? – 2012-04-26 22:46:36

+0

@ГеоргиГеоргиев我想你需要解释你的任务在这里。你一直在描述的有关默认PropertyGrids的描述是没有意义的。 – LarsTech 2012-04-26 22:49:22

+0

我的任务是创建一个控件,该控件具有2个自定义属性X和Y,它们是用当前鼠标指针位置动态更新的。忘记表格。如果放在表单上,​​属性将不可见,我明白这一点。 – 2012-04-27 08:33:03

相关问题