ユーザーがハイパーリンクの電子メールアドレスをクリックしてMicrosoft Outlookにアクセスし、電子メールアドレスに電子メールを送信できるようにするためのバージョン情報ボックスを作成しましたが、Outlookにリンクする方法がわかりませんユーザーがリンクをクリックしてこれを実行できるようにします
WinFormsでWin-またはWebFormsのどちらを使用しているかは言っていません。クリックイベントのイベントハンドラーを作成する必要があると思います。その中で、次のように入力してデフォルトのメールアプリケーションを起動できます。
System.Diagnostics.Process.Start("mailto:[email protected]");
これをチェック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();
}
フォームのコンストラクタに次のような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);
フォームにリンクラベルを貼ります。
リンクラベルをダブルクリックしてオンクリックハンドラーを作成し、次のようにシステムプロセスコールを配置します。
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");
}
_<a href="mailto:[email protected]"></a>.
_
Outlookがユーザーのマシンにインストールされている場合は、それを使用します。
編集:おっと、WebではなくWinformsが必要であることに気づきました。
Winformsの場合、クリックイベントハンドラーでSystem.Diagnositcs.Process.Start(Outlook.exe /c ipm.note /m [email protected])
を使用します。