2013-11-13 3 views
0

Мне нужно подавить Экземпляр связанного файла .rvt требует обзора координации, когда я запускаю надстройку, которая открывает несколько моделей, потому что я не хочу, чтобы пользователю нужно было щелкнуть кучу диалогов. Я добавил обработчик событий в UIApplication.DialogBoxShowing, и он проверяет, имеет ли диалог HelpId == 1011 (найдено here), который является диалогом, который я ищу. Однако, когда я пытаюсь использовать метод e.OverrideResult, он всегда отменяет действие. Я пробовал TaskDialogResult.Ok и DialogResult.Ok, но оба они отменили действие.Как я могу подавить диалог диалога «Экземпляр связанного файла .rvt-файлов»?

Вот мой обработчик события:

private void application_DialogBoxShowing(object sender, 
    DialogBoxShowingEventArgs e) 
{ 
    if (e.HelpId == 1011) 
    e.OverrideResult((int)TaskDialogResult.Ok); 
} 

Что диалог результата я могу передать, чтобы сделать действие продолжаться?

ответ

1

Вместо использования обработчика событий для отображения диалоговых окон я решил создать обработчик событий, связанный с событием UIApplication.Application.FailuresProcessing. Я нашел информацию об API отказа от Building Coder.

Код ниже подавляет все Предупреждения.

private void Application_FailuresProcessing(object sender, 
    FailuresProcessingEventArgs e) 
{ 
    FailuresAccessor failuresAccessor = e.GetFailuresAccessor(); 
    IEnumerable<FailureMessageAccessor> failureMessages = 
    failuresAccessor.GetFailureMessages(); 

    foreach (FailureMessageAccessor failureMessage in failureMessages) 
    { 
    if (failureMessage.GetSeverity() == FailureSeverity.Warning) 
     failuresAccessor.DeleteWarning(failureMessage) 
    } 

    e.SetProcessingResult(FailureProcessingResult.Continue) 
} 

можно добавить, если заявление проверки на failureMessage.GetFailureDefinitionId().Guid == new Guid("3d983f31-9ee3-4c3a-bed8-663b32cecec5"), если вы хотите, чтобы подавить конкретное сообщение обзора координации.

 Смежные вопросы

  • Нет связанных вопросов^_^