0

TextBoxaと aを含むフォームを考えてみましょうButton。そのボタンをクリックするとFont、実行時にプロパティ ダイアログが表示されます。

デザイナ中に、プロパティの右側にあるボタンをクリックしてPropertyGrid、エディタ ウィンドウでこの のフォントを操作できますTextBox。実行時にPropertyGridフォームに を追加して をポイントするとTextBox、エディタ ウィンドウも表示されます。

PropertyGridフォーム上になくてもボタンをクリックすることで、実行時にこのエディタウィンドウを取得するにはどうすればよいですか?

この記述子から と を取得しましたが、を呼び出すときにPropertyDescriptorUITypeEditorのインスタンスを取得するために何を呼び出せばよいかわかりません。ITypeDescriptorContextIServiceProviderUITypeEditor.EditValue

編集-簡単な解決策を持つコントロールのこの問題を尋ねたので、このトピックに関連する別の質問をしました:実行時に PropertyGrid なしで複雑なプロパティのプロパティ ダイアログを開く方法

4

1 に答える 1

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;
}
于 2012-11-29T13:30:27.493 に答える