MessageBox не отображается в Windows 7 Embedded

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

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

Я могу найти сборку (System.Windows.Forms.dll), которая требуется для MessageBox. Он находится в том же месте, что и наша сборочная машина 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();
}

2 ответа

Решение

Из этого поста вы можете отключить компонент "Message Box Default Reply" из Windows 7 Embedded. Более подробную информацию можно найти на MSDN.

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

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

Другие вопросы по тегам