2012-11-29 13 views
0

考慮一個帶有TextBoxButton的表單。當您單擊該按鈕時,您應該在運行時獲得Font屬性對話框。如何在運行時爲沒有PropertyGrid的字體打開屬性對話框

在設計器期間,您可以單擊PropertyGrid中屬性右側的按鈕,並獲取編輯器窗口來操作此TextBox的字體。在運行期間,如果您將PropertyGrid添加到表單並將其指向TextBox,則還可以獲取編輯器窗口。

我怎樣才能得到這個編輯器窗口在運行時通過說,一個按鈕點擊沒有PropertyGrid在窗體上?

雖然我已經得到了PropertyDescriptorUITypeEditor從這個描述,我不知道什麼叫調用UITypeEditor.EditValue時獲得的ITypeDescriptorContextIServiceProvider實例。

編輯 - 因爲我問了一個簡單的解決方案控制的這個問題,我問過此主題相關的另一個問題:How to open the properties dialog for a Complex Property without a PropertyGrid at runtime

+0

感謝編輯Picrofo埃及,我會保留原來的格式記的未來。這當然可以更容易地注意到問題中的對象! – Mohgeroth

回答

1

您可以使用FontDialog顯示標準字體對話框:

new FontDialog().ShowDialog(); 

讀/寫字體:

var dlg = new FontDialog(); 
dlg.Font = textBox1.Font; 
if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
{ 
    textBox1.Font = dlg.Font; 
} 
+0

也許我應該提交另一個問題......這真的不是我正在尋找的方法......我試圖簡化問題,因爲我正在嘗試爲沒有這樣的自定義UITypeEditor控件執行此操作功能尚未(試圖創建它) – Mohgeroth

+0

但對於問的問題,這個工作 – Mohgeroth

相關問題