2010-11-23 171 views
15

我已经制作了一个关于允许用户单击超链接电子邮件地址的邮箱,该邮箱将他们带到Microsoft Outlook以便能够将电子邮件发送到电子邮件地址,但我不知道如何将其链接到Outlook,并允许用户点击该链接如果Outlook安装在用户的机器将使用它来做到这一点超链接在C#中使用LinkLabel的电子邮件地址

回答

29

你不是说无论您是使用WIN-或Web表单......在我的WinForms认为你需要为click事件创建一个事件处理程序。里面,你可以通过键入启动默认的邮件应用程序:

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

这里值得注意的是,如果用户没有在Win XP/7中设置默认的邮件客户端,这个调用将抛出一个异常`System.ComponentModel.Win32Exception(0x80004005):没有应用程序与指定的文件关联这个操作`。 Win 8至少会问他们希望用 – Xerxes 2013-02-07 01:23:05

2

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

编辑:哎呀只是注意到你想Winforms不是网络。

对于winforms在点击事件处理程序中使用System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m [email protected])

+0

我在哪里可以在我的代码把这个在C#中呢? – 2010-11-23 21:49:12

2

在窗体的构造函数:

 linkLabel1.Links.Add(new LinkLabel.Link(0, linkLabel1.Text.Length, "mailto:[email protected]")); 
在linklabel1的点击处理

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

入住此SO螺纹:

How to send email using default email client?

基本上,点击事件是这样的:

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

在您的表单上放置链接标签。

双击链接标签来创建你的点击处理程序,然后把系统进程调用它是这样的:

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

这将激发关闭用户已配置的默认电子邮件应用程序的窗口框。

更换的mailto:用HTTP引用其默认浏览器打开一个网页:

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