RichTextBoxのリンククリック時の動作

タグの編集
投稿者 ウッチー  (小学生) 投稿日時 2009/3/30 17:25:51
たびたびすみません。
いきなりですが、題名のことについてご教授願います。

つまりは、RichTextBox(Form4)にリッチテキストファイルを出力し
そのファイルにあるハイパーリンクを独自ブラウザ(Form2)で
表示する。ということはできますでしょうか?

ついでに、RichTextBoxで編集中のファイルにハイパーリンクを
追加する方法もご教授願います。
投稿者 ヴァン  (社会人) 投稿日時 2009/3/30 20:36:22
こんにちは。

>つまりは、RichTextBox(Form4)にリッチテキストファイルを出力し
>そのファイルにあるハイパーリンクを独自ブラウザ(Form2)で
>表示する。ということはできますでしょうか?

ファイルに出力したということは、ファイル名が判っているはずですから表示は可能だと思います。
保存時のファイルパスを独自ブラウザでナビゲートすれば良いと思いますが。

>ついでに、RichTextBoxで編集中のファイルにハイパーリンクを
>追加する方法もご教授願います。

ここで言っている「ハイパーリンク」は何を指していますか?

「http://~」から始まる文字列のみ?

「<a href=~」から始まる文字列?
投稿者 ウッチー  (小学生) 投稿日時 2009/3/31 19:03:20
返信ありがとうございます。
そういうことではなくてリッチテキストファイルに書かれている
「http://~~~」の部分をクリックしたときの動作を教えてください。

ハイパーリンクを追加するということは、MSOfficeWordのように
「http://~~~」というアドレスに、ハイパーリンクを追加する方法を教えてください。
投稿者 HINATA  (小学生) 投稿日時 2009/3/31 19:54:54
RichTextBoxのアドレスの部分をクリックした時という意味ならば
RichTextBoxのDetectUrlsをTrueにして、
LinkClickedイベントを使えば出来ますよ。
投稿者 ウッチー  (小学生) 投稿日時 2009/4/1 05:50:41
HINTAさんありがとうございます。
そこまではわかりましたが、LinkClikedイベントで、
どのようにURLを取得するかがわからないのでご教授願います。
投稿者 neptune  (社会人) 投稿日時 2009/4/1 08:15:08
>どのようにURLを取得するかがわからないのでご教授願います。
DetectUrls プロパティ の使用例は見ましたか?
投稿者 ウッチー  (小学生) 投稿日時 2009/4/1 18:16:33
はい。
それで、stringをuriに変換する方法がわからないので、
それをご教授願います。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/4/1 18:45:34
> stringをuriに変換する方法がわからないので、

VB.NET の話なのですよね。だとしたら、
 Dim u As New Uri( 文字列 )
で変換できます。


なお、独自ブラウザというのが WebBrowser の事なのだとしたら、
WebBrowser1.Navigate の引数は、Uri でも String でも構わないので、
あえて Uri に変換する必要は無いと思います。
投稿者 HINATA  (小学生) 投稿日時 2009/4/1 18:53:18
下記のページの「イベント データ」にLinkClickedイベントが発生する時に渡される引数の情報があります。

http://help.jp.infragistics.com/Help/NetAdvantage/NET/2008.3/CLR2.0/html/Infragistics2.Win.v8.3~Infragistics.Win.FormattedLinkLabel.FormattedLinkEditor~LinkClicked_EV.html
投稿者 ウッチー  (小学生) 投稿日時 2009/4/1 19:02:08
お二人方ありがとうございます。
おかげでできました。
投稿者 neptune  (社会人) 投稿日時 2009/4/1 20:50:17
こんにちは

どうも、先のResの意味が通じてなかったようなので、説明しておきます。

>DetectUrls プロパティ の使用例は見ましたか
と遠まわしなような書き方をしましたが、キーワードがあるからそう書いたんですが。。。
以下、調べ方を書いておきます。

使用例
Private Sub Link_Clicked(sender As Object, e As System.Windows.Forms.LinkClickedEventArgs)
   System.Diagnostics.Process.Start(e.LinkText)
End Sub 'Link_Clicked

で、キーワード「LinkClickedEventArgs」がわかります。
解説の中にリンクがあるのでクリック
・LinkClickedEventArgs は、RichTextBox 内でクリックされたリンクのテキストを指定します。
が、わかります。

下の端にある
・LinkClickedEventArgs メンバ
をクリックします。

・LinkText  クリックされているリンクのテキストを取得します。 
というのがわかります。そこのリンクをクリック

LinkClickedEventArgs.LinkText プロパティ
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.linkclickedeventargs.linktext(VS.80).aspx
の解説 に
このプロパティが返すテキストは、クリックされているリンクに対して指定されているファイル、URL、またはその他のデータです。

とわかりますから、後は確認すれば良い。

という事です。MSDNを活用したら、あっという間に目的にたどり着けることもありますから
一応、調べましたかってな意味でした。