文字コードの選択を追加したいと考え、CommonDialogを継承するクラスを作成し、それを呼び出したのですが、ダイアログが表示されませんでした。base.RunDialog(pr);です。予約語くらいは知っていた方がいいっすよ。予約語くらいは知っていた方がいいっすよ。目にしていないわけはないんですけど普段使わないと、ついつい忘れて。ご指摘ありがとうございました。お答えありがとうございます。「抽象基本メンバを呼び出すことはできません。とんちんかんなこと言ってましたね。私ShowDialogが呼び出され、その中で派生クラスのRunDialogが呼び出される。実際の独自ダイアログは派生クラスに実装されるので、MustOverrideなRunDialogでそれを表示しなさいということですね。ダイアログそのものを自分で作成してRunDialogで表示しなくてはなりません。簡単に言うと、CommonDialogはフォームを持っておらず、派生クラスがフォームを持っているということです。SaveFileDialogが表示されるまえに、べつのフォームを表示し、そこで文字コードを指定するようにしました。ありがとうございました。