DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   C# (http://www.daniweb.com/forums/forum61.html)
-   -   Popup Outlook contact makes the WinForm stuck and frozen (http://www.daniweb.com/forums/thread185575.html)

manfree Apr 7th, 2009 4:06 am
Popup Outlook contact makes the WinForm stuck and frozen
 
Hi all

I would like to popup an Outlook contact via a Click button. The "Popup action" works fine~
However, after the outlook contact comes up, the WinForm(Form1) seem stuck and hold ....
I can't move, minimize and maximize the WinForm ?????
Any body know what is the problem in here ??
Thanks


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace testing1
{
    public partial class Form1 : Form
    {
        Outlook.Application oApp = new Outlook.Application();
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        private void FindContactEmailByName(string firstName, string lastName)
        {
            Outlook.NameSpace outlookNameSpace = oApp.GetNamespace("MAPI");
            Outlook.MAPIFolder contactsFolder = outlookNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);

            Outlook.Items contactItems = contactsFolder.Items;

            try
            {
                Outlook.ContactItem contact = (Outlook.ContactItem)contactItems.Find(String.Format("[FirstName]='{0}' and " + "[LastName]='{1}'", firstName, lastName));
                if (contact != null)
                {
                    contact.Display(true);
                }
                else
                {
                    MessageBox.Show("The contact information was not found.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FindContactEmailByName("Tom", "Lee");
        }

    }
}

alc6379 Apr 9th, 2009 11:13 pm
Re: Popup Outlook contact makes the WinForm stuck and frozen
 
You need to run the contact launching code in a new thread, or consider using a background worker to start your FindContactEmailByName method.

Here's a tutorial on the background worker:
http://dotnetperls.com/Content/Backg...roduction.aspx

Basically, when you show a new form like that, the "owner" form that launches the contact.Display(true) call blocks until the contact is closed, or control is returned to the calling form.


All times are GMT -4. The time now is 12:58 am.

Forum system based on vBulletin Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
©2003 - 2009 DaniWeb® LLC