Entwickler-Ecke

WinForms - WinForms Zugriffsfrage


drems - Mi 18.07.12 10:29
Titel: WinForms Zugriffsfrage
Hallo, ich habe eine Klasse email.cs mit folgendem Code:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
namespace Newsletter
{
    class Email : Form1 
    {
        static void CreateSendItem(Microsoft.Office.Interop.Outlook.Application application)
        {
            Microsoft.Office.Interop.Outlook.Application oApp = new Microsoft.Office.Interop.Outlook.Application();
            Microsoft.Office.Interop.Outlook._NameSpace oNameSpace = oApp.GetNamespace("MAPI");
            oNameSpace.Logon(nullnulltruetrue);  //angemelden Nutzer benutzen
            Microsoft.Office.Interop.Outlook._MailItem oMailItem = (Microsoft.Office.Interop.Outlook._MailItem)oApp.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
            oMailItem.To = "xx@xx.com";
            oMailItem.Subject = "test";
            oMailItem.Body = "bla";
            Microsoft.Office.Interop.Outlook.MAPIFolder oOutboxFolder = oNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderOutbox);
            oMailItem.SaveSentMessageFolder = oOutboxFolder;
            //uncomment this to also save this in your draft    
            //oMailItem.Save(); 
            //adds it to the outbox      
            oMailItem.Send();
        }
    }
}

Ich möchte dann von meiner Form1 über den Button3 die Email versenden, da ich aber nicht sehr bewandert in WinForms bin, wäre es nett wenn ihr mir hier kurz helfen könntet.

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt


Christian S. - Mi 18.07.12 10:54

Irgendwie hast Du vergessen, zu beschreiben, wo Du Hilfe brauchst ;-)

Was soll passieren?
Was passiert statt dessen (oder was passiert nicht)?
Gibt es Fehlermeldungen?
Wo kommst Du nicht weiter?

Außerdem: Warum ist das in einer von Form1 abgeleiteten Klasse? :gruebel:


drems - Mi 18.07.12 11:04

Also ich will, das wenn ich auf den Button3 klicke, meine Email versendet wird. Da ich ja eine Klasse Email erstellt habe, weiß ich jetz irgendwie nicht genau, wie ich das realisieren soll, da ich leider so gut wie keine Erfahrung mit Windows forms hab. Was für Code müsste ich denn dann bei button3_click reinschreiben?
Habe beim googlen irgendwie nichts hilfreiches gefunden bisher.


Webo - Mi 18.07.12 11:10

Du hast doch in deiner Klasse, wie auch oben im Code steht, eine Funktion CreateSendItem. Die musst du in der Button-Methode aufrufen.

Etwa so


C#-Quelltext
1:
Email.CreateSendItem(YourOutlookApplication)                    


Was ich mich bei deinem Code frage: Warum erbt Email von Form1 und warum übergibst du CreateSendItem eine Outlook-Applikation, wenn du sie in der Methode gar nicht nutzt?


drems - Mi 18.07.12 11:55

die 2 Sachen sind schon wieder raus, war nur im ursprünglichem Code drinnen.
Funktioniert auf jeden fall wunderbar jetzt, dankeschön :)