Скрыть модальный элемент управления WinForms, связанный с результатом диалога - PullRequest
1 голос
/ 10 июля 2020

У меня есть:

  1. Запуск приложения
  2. RuleSetForm запущен из основного приложения
  3. CustomPropertyForm запущен из RuleSetForm

Мне нужно сделайте внешний выбор из CustomPropertyForm, вернитесь к нему, пока он скрыт, и в конечном итоге нажмите «Отмена» / «ОК», не затрагивая RuleSetForm. Вот как я называю CustomPropertyForm

if (new CustomPropertyForm(this._doc, ref this._ruleSet).ShowDialog() == DialogResult.OK)
{
   // Action
}

введите описание изображения здесь

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

private void btnSelectElements_Click(object sender, EventArgs e) => this.Hide();

и

private void CurrentSelection_Changed(object sender, EventArgs e) => this.Visible = true;

, но проблема в том, что когда я нажимаю «Выбрать элементы ...», он запускает DialogResult и отображает RuleSetForm, который далее блокируется доступ к экрану (таким образом выбираются элементы).

Какое решение для этого? Надеюсь, я достаточно ясен ...

...