Как настроить OpenFileDialog, используя вложенные типы? - PullRequest
2 голосов
/ 19 мая 2010

Скажем, я хотел настроить OpenFileDialog и изменить, например, способ работы фильтра расширений файлов, как в случае этого вопроса. После того, как я указал автору указанного вопроса, что OpenFileDialog не наследуется, я получил комментарий со следующим:

Несмотря на то, что OpenFileDialog запечатан (не наследуется), вы можете использовать его как вложенный тип. Например, используя свойство, которое получит NativeDialog. Затем вы пишете свой метод всегда, используя свойство NativeDialog, и все готово.

У меня такой вопрос, может ли кто-нибудь предоставить мне пример кода о том, как мне поступить, выполняя что-то подобное? Я в некотором роде новичок в концепции вложенных типов, поэтому мне сложно разобраться в этом самостоятельно, и я искал в Интернете и не мог найти в этом ничего слишком конкретного.

Спасибо!

1 Ответ

2 голосов
/ 19 мая 2010

Вложенный тип - это просто еще один способ сказать класс оболочки (я предполагаю).Таким образом, вы бы создали новый класс с закрытым классом-членом OpenFileDialog.Затем вы создаете все необходимые публичные члены.

Так что для OpenFileDialog вы создадите такой класс:

public class CustDialog
{
   private OpenFileDialog _dialog;

   public CustDialog()
   {
       //instantiate custom OpenFileDialog here
   }

   public DialogResult ShowDialog()
   {
       return _dialog.ShowDialog();
   }
}

Вы даже можете сделать этот шаг еще дальше и получить оболочкукласс наследуется от класса CommonDialog .Это позволит вам использовать ваш класс-оболочку точно так же, как стандартный диалог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...