2012-05-25 13 views
5

मैं डेटाग्रिड व्यू से ईमेल पता पढ़ने के लिए निम्न कोड का उपयोग कर रहा हूं, फिर Outlook ईमेल बनाएं। यह पूरी तरह से काम करता है, सिवाय इसके कि नया ईमेल शीर्ष के रूप में सेट किया गया है और/या एक संवाद विंडो के रूप में खोला गया है, जिसका अर्थ है कि मैं नई ईमेल विंडो खोलने पर Outlook में कुछ और क्लिक नहीं कर सकता या नहीं कर सकता। यह समस्याग्रस्त है अगर मुझे अपना नया ईमेल खुल गया है और मैं अपने इनबॉक्स में कुछ खोजने या देखने की कोशिश कर रहा था। जब तक मैं ईमेल बंद या भेजता हूं, तब भी मेरा आवेदन प्रतिसाद नहीं देगा (लॉक है)।नए ईमेल लॉक आउटलुक, ईमेल विंडो को शीर्ष के रूप में बल दें

क्या कोई नया ईमेल बनाने का कोई तरीका है और अभी भी नियमित कार्यक्षमता की अनुमति है? यदि मैं Outlook से नए ईमेल बटन पर क्लिक करता हूं, तो मेरे पास जितना चाहें उतना खुला हो सकता है, खोज, आदि का उपयोग कर सकते हैं।

this.TopMost = false लाइन मेरे WinForms ऐप को छिपाने और सामने की नई ईमेल विंडो प्रदर्शित करने के लिए है।

try 
{ 

     string emailString = resultsGrid[resultsGrid.Columns["Email"].Index, resultsGrid.SelectedCells[resultsGrid.Columns["Email"].Index].RowIndex].Value.ToString(); 

    if(emailString.Contains("mailto:")) 
    { 
     emailString = emailString.Replace("mailto:", ""); 
    } 

    this.TopMost = false; 

    // Create the Outlook application by using inline initialization. 
    Outlook.Application oApp = new Outlook.Application(); 

    //Create the new message by using the simplest approach. 
    Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem); 
    oMsg.Subject = ""; 
    oMsg.To = emailString; 
    oMsg.Body = ""; 
    oMsg.Display(true); 


    oMsg = null; 
    oApp = null; 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(string.Format("An error occurred: {0}", ex.Message)); 
} 

यह भी अजीब बात है कि अगर मैं ईमेल में कुछ सामान लिखता हूं और इसे बंद करता हूं, तो मैं इसे सहेज सकता हूं। यदि मैं ऐसा करता हूं, जब मैं ईमेल को बैक अप खोलता हूं, तो यह इसके लॉक किए गए राज्य पर वापस आता है। मुझे लगता है कि ईमेल के निर्माण के तरीके के साथ कुछ करना है, इसलिए कुछ सेटिंग या विशेषता लागू हो रही है और इसके साथ सहेजा जा रहा है।

उत्तर

9

इस लाइन की जगह का प्रयास करें:

oMsg.Display(true); 

... के साथ:

oMsg.Display(false); 

प्रति MailItem.Display प्रलेखन, पैरामीटर के नाम Modal है, और के रूप में निर्दिष्ट किया जाना चाहिए:

True खिड़की मोडल बनाने के लिए। डिफ़ॉल्ट मान False है।

+0

एचएम ने कभी परीक्षण नहीं किया, "डिस्प्ले (गलत)" का अर्थ ईमेल को बिल्कुल नहीं दिखाता है। धन्यवाद। – ikathegreat

संबंधित मुद्दे