C# と MS Web Developer 2010 を使用して、最初のファイル ダイアログ ボックスを作成しようとしています。System.Windows.Forms 参照をセットアップしました (.NET タブから、COM タブの参照を設定するとエラーが発生しました)。名前空間をインポートしました。これについて非常に役立つ初心者用サイトをいくつか見つけました。以下のコードを入手しました。
私の問題は、ボタンで呼び出すと、ブラウザに「ローカルホストを待っています」というメッセージが永遠に表示され、何も起こらないことです。(ダイアログボックスが他の何かの後ろに隠れていないことを確認するために、すべてのウィンドウを最小化しました。)この問題について議論しているStackOverflow (WinFors GUI Hangs When Calling OpenFileDialog.ShowDialog)など、フォーラムには多数の投稿があります。しかし、私は解決策を見つけることができません。
多くのフォーラムで、.NET プロセスを別のスレッドで実行することに関する解決策が議論されています。マイクロソフトは、この単純なコントロールを使用するために、そのようなことを理解することを実際に期待しているのでしょうか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Windows.Forms;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public void OpenDialog(object sender, EventArgs e)
{
String MyFile = string.Empty;
String input = string.Empty;
OpenFileDialog dialog = new OpenFileDialog();
dialog.ShowHelp = true;
dialog.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
dialog.InitialDirectory = "D:";
dialog.Title = "This is a test dialog";
dialog.ShowDialog();
}
}
編集(コメントから)
私がやろうとしているのは、ユーザーがサイトで作成したファイルを自分の選択したフォルダーに保存できるようにすることです。