2010-11-23 10 views
15

Ich habe eine About-Box gemacht, die Benutzer auf die Hyperlink-E-Mail-Adresse klicken können, die sie zu einem Microsoft Outlook, um eine E-Mail an die E-Mail-Adresse senden können, aber ich weiß nicht, wie es in Outlook zu verbinden und ermöglichen es dem Benutzer auf den Link klicken, um dieseHyperlink einer E-Mail-Adresse mit LinkLabel in C#

Antwort

29

Sie sagen nicht, ob Sie Win- oder WebForms ... in WinForms verwenden I Ich denke, Sie müssen einen Event-Handler für das Click-Ereignis erstellen. Im Innern, dass können Sie die Standard-Mail-Anwendung starten, indem Sie eingeben:

System.Diagnostics.Process.Start("mailto:[email protected]"); 
+9

Es ist hier erwähnenswert, dass, wenn der Benutzer keinen Standard Mail-Client in Win XP/7 eingerichtet hat, dieser Aufruf eine Ausnahme auslöst 'System.ComponentModel.Win32Exception (0x80004005): Mit der angegebenen Datei ist keine Anwendung verbunden diese Operation ". Win 8 wird sie zumindest fragen, welche App sie den "mailto" -Handler mit – Xerxes

+0

@Xerxes starten wollen, wie können wir diesen Fehler vermeiden oder können wir ihn abfangen und fragen, welche App gestartet werden soll? – indago

2

<a href="mailto:[email protected]"></a>.

zu tun, wenn Outlook auf dem Rechner des Benutzers installiert ist, wird es zu benutzen.

Edit: oops gerade bemerkt, Sie wollten Winforms nicht Web.

Verwenden Sie für Winforms System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m [email protected]) im Click-Ereignishandler.

+0

Wo lese ich dann in meinem Code in C# setzen dies tun? –

2

In Form Konstruktor:

 linkLabel1.Links.Add(new LinkLabel.Link(0, linkLabel1.Text.Length, "mailto:[email protected]")); 

in der Klick-Handler linkLabel1:

 linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true; 
     string target = e.Link.LinkData as string; 
     System.Diagnostics.Process.Start(target); 
5

prüfen diesen SO thread:

How to send email using default email client?

Grundsätzlich wäre das Click-Ereignis so etwas wie diese:

private void linkLabel1_LinkClicked(object sender,System.Windows.Forms.LinkLabelLinkClickedEventArgs e) 
{ 
System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
    proc.StartInfo.FileName = "mailto:[email protected]?subject=hello&body=love my body"; 
    proc.Start(); 
} 
2

Fügen Sie ein Link-Label in Ihr Formular ein.

Doppelklicken Sie auf den Link-Label Ihre auf Click-Handler dann das Rufsystem Prozess in es so sagen zu erstellen:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
{ 
    linkLabel1.LinkVisited = true; 
    System.Diagnostics.Process.Start("mailto:[email protected]"); 
} 

dass die Standard-E-Mail-Anwendung wird abfeuern, die der Benutzer auf ihre konfigurierten Windows-Box.

Ersetzen Sie das mailto: mit einem HTTP-Verweis auf eine Webseite in ihrem Standard-Browser zu öffnen:

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) 
{ 
    linkLabel1.LinkVisited = true; 
    System.Diagnostics.Process.Start("http://www.cybersprocket.com"); 
} 
Verwandte Themen