none
Modale MessageBox RRS feed

  • Frage

  • Hallo zusammen,

    ich nutze in meinem Office Addin, das sowohl unter Word, Outlook, Excel und Powerpoint den FileSystemWatcher.

    Im Addin lade ich eine Datei vom Server und setze ein FileSystemWatcher drauf. Wenn die Änderung durch 

    den FileSystemWatcher gemmeldet wird, zeige ich eine Meldung an und das genau ist auch das Problem. Der Code

    dazu sieht folgendermaßen aus.

     

        private void OnFileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
        {
          WatchedDocument currentWatchedDocument = GetWatchedDocumentByFile(e.FullPath);
          if (currentWatchedDocument != null && currentWatchedDocument.FileSystemWatcher.EnableRaisingEvents)
          {
            currentWatchedDocument.FileSystemWatcher.EnableRaisingEvents = false;
            DialogResult res = MessageBox.Show(msg, Resources.MessageBox_Caption, MessageBoxButtons.YesNo);
            if (res == DialogResult.Yes)
            {
               ...  
            }
          }
    
        }

    Die MessageBox ist nicht Modal zur Office Application. Dann dachte ich, das ich ja einen Owner übergben könnte, aber woher kriege ich den? Der Owner kann nur die Office Applikation sein, aber woher kriegt man das passende Win32 Fenster als Parameter für die MessageBox?

    Die MessageBoxIndirect habe ich bereits getestet:

    http://www.codeproject.com/KB/dialog/MessageBoxIndirectCS.aspx

    Die Modalität auf Systemebene ist zwar eine Lösung aber nicht die gewünschte.

    Danke für euere Antworten im Voraus.

     

    Gruß
    Cetin

    Freitag, 14. Januar 2011 13:16

Antworten