2012-10-11 62 views
1

嘗試一個簡單的項目來創建我自己的(非常基本的)數據綁定。DataType存儲控件類型Windows窗體C#

我有一個類FIELD_DESCRIPTOR存儲有關數據庫列的元信息。將會有另一個類FIELD來表示實際字段,它將包含對其相應FIELD_DESCRIPTOR類的引用。

我陷在2個地方。

首先,我需要在FIELD_DESCRIPTOR類中存儲一個屬性,該屬性存儲該字段在前端映射到哪種Windows窗體控件。例如,我需要一個屬性,比如說MAPPED_CONTROL_TYPE。而且我應該能夠在此屬性中存儲TextBox,ComboBox等。我應該只使用一個字符串屬性並完成它?或者,還有更好的方法 ?理想情況下,我想使用某種控件類型的枚舉。

其次,我需要存儲一個引用/句柄到實際控制它映射到的字段。 (我想我可以通過傳遞表單上的實際控件來做到這一點。)

我該如何實現?應該用什麼樣的dataType來定義這個屬性?

(使用.net 3.5,無WPF)

感謝和問候。

回答

2

首先,我需要有一個屬性在FIELD_DESCRIPTOR類 商店什麼樣的Windows窗體的控制現場,在 前端被映射到。例如,我需要一個屬性,比如說MAPPED_CONTROL_TYPE。 而且我應該能夠在此 屬性中存儲TextBox,ComboBox等。我應該只使用一個字符串屬性並完成它?或者 有沒有更好的方法?理想情況下,我想使用某種類型的枚舉控件類型 。

完全限定類型名稱值得注意,例如, System.Windows.Forms.TextBox。這應該是獨一無二的,並且如果需要的話可以始終用於動態創建。

其次,我需要存儲一個參考/句柄到實際控制 它映射到的字段。 (我想我可以通過傳遞表單上的實際控制的參考 做到這一點。)

你可以使用類型確實存儲參考如System.Windows.Forms.Control的。如果你這樣做,請小心不要造成內存泄漏。即當你不再需要你的控制時,你不應該再在你的查找中保留它的參考,否則你會停止它的處理。

+0

Thx @Justin,如何定義這個屬性的數據類型? System.Windows.Forms.TextBox將是屬性中的值。我明白了。屬性定義是什麼樣的?字符串MAPPED_CONTROL_TYPE? – user774062

+0

我覺得字符串很好,我想不出讓生活更難的更好方法。 –

+0

Thx @ Justin。然後我會用字符串去。我認爲會有一些C#類型來存儲控件類型。 – user774062