IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

plusieurs résultats dans un msgbox


Sujet :

C#

  1. #1
    Shinyshine
    Invité(e)
    Par défaut plusieurs résultats dans un msgbox
    Bonjour,

    En faîte j'ai utilisé le script présent sur le site permettant de lister les contacts outlook. Je l'ai un peu modifier et je l'ai mis dans un winforms pour que quand je clic sur un bouton, un msgbox s'affiche..
    Le problème étant que ça affiche un msgbox par contacts. je voudrais que cela affiche un seul msgbox avec tous les contacts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
      //Creer une instance d'Application Outlook
                Microsoft.Office.Interop.Outlook.Application m_ObjOutlookApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();
                // Recuperer le NameSpace
                Microsoft.Office.Interop.Outlook.NameSpace n = m_ObjOutlookApp.GetNamespace("mapi");
                //Recuperer le Repertoire Contact
                Microsoft.Office.Interop.Outlook.MAPIFolder f = n.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderContacts);
                foreach (Object Item in f.Items)
                {
                    if (Item is Microsoft.Office.Interop.Outlook.ContactItem)
                    {
                        Microsoft.Office.Interop.Outlook.ContactItem ct = ((Microsoft.Office.Interop.Outlook.ContactItem)Item);
                        MessageBox.Show(System.Convert.ToString(ct.LastNameAndFirstName + "\n"));
                        /*On récupère ct objet de type ContactItem... voir la liste des propriétés */
                    }
                }
    J'ai fait plusieurs versions de l'algo pour les tâches et appointment.

    Si vous avez une meilleur idée qu'un msgbox pour afficher tout les contacts (comme un richtextbox) je suis preneur, un truc présentable quoi!

  2. #2
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    Tout dépend de ce que tu veux en faire après?

    Si tu veux juste les afficher "pour le plaisir", tu peux créer une variable string et y ajouter au fur et à mesure tes données puis afficher ton string.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    string mesContacts;
    //... ton code
    for each(Object....
    {
       if(....)
       {
          Microsoft.Office.Interop.Outlook.ContactItem ct = ((Microsoft.Office.Interop.Outlook.ContactItem)Item);
          mesContacts &= ct.LastNameAndFirstName.ToString() & "\n";
       }
    }
    MessageBox.Show(mesContacts);
    Avec quelques choses comme ça, tu as un message box avec toute la liste des contacts.

    Mais si tu veux en faire un copier coller... tu peux mettre la string mesContacts dans un textbox (avec l'option Multiline).

    Sinon, tu peux faire un combobox et tu fais à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mesContacts &= ct.LastNameAndFirstName.ToString() & "\n";
    tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maCboBox.Add(ct.LastNameAndFirstName.ToString());
    ρs¥

  3. #3
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    string listeContacts=string.Empty;
    foreach (Object Item in f.Items)
                {
                    if (Item is Microsoft.Office.Interop.Outlook.ContactItem)
                    {
                        Microsoft.Office.Interop.Outlook.ContactItem ct = ((Microsoft.Office.Interop.Outlook.ContactItem)Item);
                  listeContacts+=System.Convert.ToString(ct.LastNameAndFirstName + "\n")
     
                    }
                }
     
    MessageBox.Show(listeContacts);

  4. #4
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Le même en un peu plus joli :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    StringBuilder listeContacts= new StringBuilder();
     
    foreach (Object Item in f.Items)
                {
                    if (Item is Microsoft.Office.Interop.Outlook.ContactItem)
                    {
                        Microsoft.Office.Interop.Outlook.ContactItem ct = ((Microsoft.Office.Interop.Outlook.ContactItem)Item);
                  listeContacts.AppendLine(ct.ToString()); 
                    }
                }
     
    MessageBox.Show(listeContacts.ToString());

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  5. #5
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    plus joli est moins gourmand au niveau de la mémoire

  6. #6
    Shinyshine
    Invité(e)
    Par défaut
    Merci les gars, c'est parfait

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/10/2010, 14h34
  2. Réponses: 17
    Dernier message: 22/09/2010, 14h44
  3. Recherche retournant plusieurs résultats dans liste déroulante.
    Par Yann56 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/01/2010, 01h49
  4. Exporter plusieurs résultats dans un fichier
    Par alexping77 dans le forum SAS STAT
    Réponses: 12
    Dernier message: 10/02/2008, 22h50
  5. Plusieurs résultats dans une même cellule
    Par luboyoyo dans le forum Excel
    Réponses: 2
    Dernier message: 04/06/2007, 08h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo