我已经制作了一个关于框,旨在允许用户点击超链接的电子邮件地址,从而可以进入Microsoft Outlook以发送电子邮件到该邮件地址,但我不知道如何将其链接到Outlook并允许用户单击链接来实现此操作。
你没有说明你是使用WinForms还是WebForms...在WinForms中,我认为你需要为点击事件创建一个事件处理程序。在里面,你可以通过输入以下内容来启动默认的邮件应用程序:
System.Diagnostics.Process.Start("mailto:youremail@xx.com");
请查看这个Stack Overflow的帖子:
基本上,点击事件应该像这样:
private void linkLabel1_LinkClicked(object sender,System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "mailto:someone@somewhere.com?subject=hello&body=love my body";
proc.Start();
}
LinkLabel
:linkLabel1.Links.Add(new LinkLabel.Link(0, linkLabel1.Text.Length, "mailto:bob@someaddress.com"));
LinkLabel
的点击处理程序中:linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true;
string target = e.Link.LinkData as string;
System.Diagnostics.Process.Start(target);
<a href="mailto:bob@someaddress.com"></a>.
如果用户的机器安装了Outlook,它将使用它。
编辑:糟糕,我刚注意到您需要Winforms而不是Web。
对于Winforms,请在单击事件处理程序中使用System.Diagnositcs.Process.Start(outlook.exe /c ipm.note /m bob@someadress.com)
。
在你的表单上放置一个链接标签。
双击链接标签创建您的点击处理程序,然后像这样放置系统进程调用:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("mailto:info@cybersprocket.com");
}
这将触发用户在他们的Windows设备上配置的默认电子邮件应用程序。
将mailto:替换为HTTP引用,以在其默认浏览器中打开一个网页:
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
linkLabel1.LinkVisited = true;
System.Diagnostics.Process.Start("http://www.cybersprocket.com");
}
System.ComponentModel.Win32Exception (0x80004005): No application is associated with the specified file for this operation
。而Win 8至少会询问他们想要使用哪个应用程序启动“mailto”处理程序。 - Xerxes