Должно звучать странно, но это только для моего хобби.Я хотел бы, чтобы (настраиваемое) окно сообщения появлялось с кнопками YesNo, которые в идеале должны блокировать код.Но у меня должна быть возможность щелкнуть родительскую форму, чтобы я мог закрыть окно сообщения без необходимости специально нажимать на кнопки окна сообщения (эквивалентно нажатию кнопки Нет в окне сообщения) ..
примерно так:
void Foo()
{
CustomMsgBox.Show("do you really wanna delete?", CustomMsgBox.Buttons.YesNo);
//block the code here, but user should be able to click on form, so that its equivalent to have clicked No;
//if clicked No, return;
//delete.
}
Итак, я решил, что пользовательское окно сообщения должно быть немодальным, чтобы пользователь мог щелкнуть форму, но я не смог заблокировать код. Как я могу это сделать?
Это выглядело бы так:
void Foo()
{
NonModalMsgBox.Show("do you really wanna delete?", CustomMsgBox.Buttons.YesNo);
//block thread till user clicks on form or messagebox buttons.
//unblock when user clicks.
//if No, return;
//delete.
}
Редактировать: я знаю, что это не стандартная практика, и я знаю, что немодальные формы не блокируют, в то время как модальные формы делают.Поэтому, пожалуйста, не рекомендуется довольствоваться поведением модальной или немодальной формы.Мой вопрос был бы, есть ли способ имитировать поведение ContextMenu с окнами форм.