2009-12-27 56 views
1

對於OSS項目,我試圖以編程方式將控件添加到WinForms視圖..並且我想使這些可編輯和可調整大小,如在Visual Studio設計器中。我一直在玩編程,使用Controls.Add(標籤)..但我正在努力解決如何使UI可編輯。WinForms - 啓用設計模式

我假設它會使用DesignMode - 但我只能找到這些屬性的getter而不是setter。簡單地說 - 有沒有什麼方法可以以編程方式在WinForms中啓用和禁用DesignMode?

我還沒有調查WPF - 也許這將能夠擁有可編輯控件?

非常感謝,對不起,是一個痛苦的權利聖誕節後.. 牛逼

+0

您是否希望您的UI可以從Visual Studio設計器進行編輯,還是希望您的控件在運行時可以調整大小?你的問題有點不清楚。 – Brann 2009-12-27 21:05:04

+0

我希望能夠添加控件,並在運行時動態調整它們的大小。我實現了控件的添加,但它是移動控件和設置屬性,即我想知道的字體大小 – 2009-12-28 11:04:55

回答

1

據我所知,設計功能在Visual Studio中實現,而不是WinForms的運行時庫的一部分。 DesignMode屬性是隻讀的,因爲它提供有關執行上下文的信息;這不是可以在飛行中改變的東西(作爲便箋:這個屬性是not as easy to use,正如人們所希望的那樣)。

如果要在運行時使UI可編輯(即更改控件的大小/佈局),則必須手動實現大量行爲(例如,OnMouseDown處理程序等)。如果您想要繪製帶有可摺疊邊角的邊框,您可能需要深入研究自定義繪圖。

我不太確定WPF,因爲我對它的使用經驗不多,但是關於SO的this question有一些關於使控件在運行時可調整大小的信息。

2

它在WinForm中可用的格式爲explained by alexm。不幸的是,這對於WPF設計師來說並非如此。在那裏你必須實現你自己的設計師。