Вопрос

Рассмотрим MessageBox, чтобы подсказать пользователю ответить на да или нет. Работает на наших машинах XP и одна машина сборки Windows 7.

Тем не менее, он не работает на нашей машине Windows 7. Нет сообщения об ошибке, не отображается сообщение сообщения. Он просто предполагает, что пользователь нажал кнопку Да, потому что я могу найти файл отладки, созданный оттуда и createDatabase(); вызывается без какого-либо сообщения опережает его.

Я могу найти сборку (System.windows.forms.dll), которая требуется по почте. Он находится в том же месте, что и наше устройство сборки Windows 7. У вас есть идеи, почему? Спасибо

DialogResult result = System.Windows.Forms.MessageBox.Show(
    "Do you want to update your database?\nWarning: All your data will be erased if you click Yes !",
"Update Database",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);

if (result == DialogResult.Yes)
{
    string[] cmdLines2 = { @"C:\AndeDB\AndeDB.db is here and selected yes" };
    //it will create, open and write or overwrite
    File.WriteAllLines(@"C:\Temp\dbcheck2.txt", cmdLines2);
    createDatabase();
}
Это было полезно?

Решение

От это Post, вы можете отключить компонент «Box Default Reply) из Windows 7 встроенных. Дополнительные данные можно найти на MSDN.

Другие советы

Ключевое слово здесь «встроен». Такие версии Windows часто настраиваются для запуска головки (без монитора) или оптимизированы для работы без того, чтобы никто не был рядом. Messagebox - это яд до такой конфигурации. Машина перестает работать, и никто не может узнать, почему.

Вам нужно вернуться в свой системный строитель и найдите опцию, которая контролирует это.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top