方法はいろいろあると思うけど、まず「なんのイベントが発生するか」よね。
これがないと、クリックしても反応しませんって事になっちゃうもの。
まず、 MouseDown はダメ。たとえば以下かな?
DownでなくUpなのは、経験上、Downで選ぶと選択したものがちゃんともらえない事があったからかな。Up以降なら選択したものはたぶん確定してるだろうって事。
この、Previewなんとかっていうのがいいみたいね。
ちなみに、実際の処理はこんな感じかな。
private void lb2_PreviewMouseUp(object sender, MouseButtonEventArgs e) { try { string url = Regex.Replace((string)lb2.SelectedItems[0], @"^.+>http", "http", RegexOptions.IgnoreCase); web1.Navigate(url); }catch(Exception exx){ tb3.Text = exx.Message; } }
変なデータが飛んできた時にそなえて、エラー処理もつけてみたわ。
余計な処理が入っているけど、ポイントはわかるかしら?
(string)listBox1.SelectedItems[0]
ここね。
stringでキャストしているのは、listBoxの中に入れられるのは string ばかりじゃないからよ。だから「 これは string なのよー 」って指示してやる必要があるの。