Şimdi Ara

C# VSTO ile Outlook bağlantı durumu kontrolü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
621
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba Arkadaşlar,


    Outlook açıldıktan sonra bağlantısı koptuğunda uyarı göstersin diye bir eklenti yazmaya çalışıyorum.

    bunun için her 10000 milisaniyede başlayıp 30000 milisaniyede bir tetiklenen bir timer tanımladım.

    Buraya kadar sorun yok fakat tetikleme başlayıp form nesnesini göstermeye çalışınca form öğesi donuk açılıyor.


    Kod

    Yığını:
          private bool error;     Form1 form1 = new Form1();     private void ThisAddIn_Startup(object sender, System.EventArgs e)     {       error = true;       this.Application.Startup += Application_Startup;     }     private void Application_Startup()     {       System.Threading.Timer timer = new System.Threading.Timer( _ => showForm(), null, 10000, 30000);         }     private void showForm()     {       if (Application.Session.ExchangeConnectionMode != Outlook.OlExchangeConnectionMode.olCachedConnectedFull && error)       {         error = false;         form1.setlabel(Application.Session.ExchangeConnectionMode.ToString());         form1.Show();       }     }

    Form öğesini timer içine yerleştirmeden sadece application_startup'ta çalıştırınca donmadan geliyor. sorun oluşturmuyor.

    fakat timer içinde tetikleyince donuyor.


    örnek olarak aşağıda donuk olarak gelen ekran var.


    C# VSTO ile Outlook bağlantı durumu kontrolü


    Burada da timera bağlı değil de application_startup'ta çalışan form örneği var


    C# VSTO ile Outlook bağlantı durumu kontrolü


    Yardımcı olabilecek birisi çıkarsa minnettar olurum.C# VSTO ile Outlook bağlantı durumu kontrolü 








  • Kod

    Yığını:
      this.Invoke((Action)(() =>                 { if (Application.Session.ExchangeConnectionMode != Outlook.OlExchangeConnectionMode.olCachedConnectedFull && error)       {         error = false;         form1.setlabel(Application.Session.ExchangeConnectionMode.ToString());         form1.Show();       }   }));




    işine yarayabilir

  • Gökşen PASLI G kullanıcısına yanıt

    Merhaba Gökşen Bey,


    Cevap verdiğiniz için teşekkür ederim. VS şöyle bir şey gösterdi.



    C# VSTO ile Outlook bağlantı durumu kontrolü
  • Gökşen PASLI G kullanıcısına yanıt

    Teşekkür ederim,


    inceliyorum

  • Sonunda sorun çözüldü.


    Sadece Show(); yerine ShowDialog(); koydum.


    İlgilenenlere teşekkür ederim.

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.