2012-04-26 47 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

相關問題