電子書籍の厳選無料作品が豊富!

C#で、WebBrowserを使用してホームページを取り込むプログラムを作成中です。
ドラッグでHTMLファイル以外を持ってこれないようにしたいのですが
方法が見つかりません・・・

わかる方お願いします。

A 回答 (1件)

ドラッグアンドドロップ(D&D)を抑制するようなインターフェイスが実装されていなさそうです



まったく受け付けなくするには
AllowWebBrowserDoropプロパティをFalseに設定すれば良いようですが

特定のファイル形式のみ許可といったプロパティは用意されていないので
WebBrowserのNavigatingイベントで判定して遷移するかどうかを決定となりそうです

  private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
  {
    ' 遷移先のパスを小文字で取得
    String ss = e.Url.AbsolutePath.ToLower();
    if ( ss.LastIndexOf( "." ) > 0 ) {
      ' 最後の『.』以降を取得
      ss = ss.Substring( ss.LastIndexOf(".") + 1 );
      ' html および htm 以外は遷移しない
      ' 許可する拡張は適宜修正してください
      if (ss != "html" && ss != "htm")
      {
        e.Cancel = true;
      }
    }
    else
    {
      ' 『.』が無い場合
      e.Cancel = true;
}
  }

といった具合で ...
# 字下げに全角スペース使用
    • good
    • 0
この回答へのお礼

回答ありがとうございます!
早速イベントで判定を追加したところ希望通りの動きになりました。
本当にありがとうございます。

お礼日時:2009/04/22 20:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!