web-dev-qa-db-ja.com

C#でLinkLabelを使用して電子メールアドレスをハイパーリンクする

ユーザーがハイパーリンクの電子メールアドレスをクリックしてMicrosoft Outlookにアクセスし、電子メールアドレスに電子メールを送信できるようにするためのバージョン情報ボックスを作成しましたが、Outlookにリンクする方法がわかりませんユーザーがリンクをクリックしてこれを実行できるようにします

17
Chris Bacon

WinFormsでWin-またはWebFormsのどちらを使用しているかは言っていません。クリックイベントのイベントハンドラーを作成する必要があると思います。その中で、次のように入力してデフォルトのメールアプリケーションを起動できます。

System.Diagnostics.Process.Start("mailto:[email protected]");
36
Ozzy

これをチェックSOスレッド:

デフォルトのメールクライアントを使用してメールを送信する方法

基本的に、クリックイベントは次のようになります。

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();
}
5
Chuck

フォームのコンストラクタに次のようなLinkLabelを追加します。

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

次に、LinkLabelのクリックハンドラで:

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

フォームにリンクラベルを貼ります。

リンクラベルをダブルクリックしてオンクリックハンドラーを作成し、次のようにシステムプロセスコールを配置します。

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

これにより、ユーザーがWindowsボックスで構成したデフォルトのメールアプリケーションが起動します。

Mailto:をHTTP参照に置き換えて、デフォルトのブラウザーでWebページを開きます。

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

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

Outlookがユーザーのマシンにインストールされている場合は、それを使用します。

編集:おっと、WebではなくWinformsが必要であることに気づきました。

Winformsの場合、クリックイベントハンドラーでSystem.Diagnositcs.Process.Start(Outlook.exe /c ipm.note /m [email protected])を使用します。

2