0

私はC#にかなり慣れていないので、フォルダー内のすべてのテキストファイルを含むリストボックスが必要です。ユーザーがリストされたファイルをダブルクリックすると、ファイルがテキストボックスに表示されます。

テキストファイルは、username:password@server.com/folder を使用してアクセスする Web サーバー上にあるため、openFileDialog 関数を使用したくありません。

1つのフォルダー内のファイルのみを編集するように制限されたテキストエディターのようなものです:)
openFileDialogを使用してこれが可能である場合、方法を教えてください。

私がやりたいことを理解していただければ幸いです。

ご挨拶、

4

1 に答える 1

2

私が理解していることから、特定のディレクトリ内のファイルを繰り返し処理し、リストボックスでダブルクリックして開いたら編集できるようにしたいと考えています。

これは、var Files = Directory.GetFiles("path", ".txt");

Filesファイルstring[]名の

次に、リストボックスに次のようなファイルを入力します。

ListBox lbx = new ListBox();
lbx.Size = new System.Drawing.Size(X,Y); //Set to desired Size.
lbx.Location = new System.Drawing.Point(X,Y); //Set to desired Location.
this.Controls.Add(listBox1); //Add to the window control list.
lbx.DoubleClick += OpenFileandBeginEditingDelegate;
lbx.BeginUpdate();
for(int i = 0; i < numfiles; i++)
  lbx.Items.Add(Files[i]);
lbx.EndUpdate();

これで、イベント デリゲートは次のようになります。

OpenFileandBeginEditingDelegate(object sender, EventArgs e)
{
    string file = lbx.SelectedItem.ToString();
    FileStream fs = new FileStream(Path + file, FileMode.Open);

    //Now add this to the textbox 
    byte[] b = new byte[1024];
    UTF8Encoding temp = new UTF8Encoding(true);
    while (fs.Read(b,0,b.Length) > 0)
    {
        tbx.Text += temp.GetString(b);//tbx being the textbox you want to use as the editor.
    }
}

VS ウィンドウ エディターを介してイベント ハンドラーを追加するには、対象のコントロールをクリックし、そのコントロールのプロパティ ペインに移動します。DoubleClick次に、イベント ペインに切り替えて、デザイナーが有効なデリゲート シグネチャを自動挿入し、イベントのロジックを記述できるようにする必要がある場合は、イベントが見つかるまでスクロールする必要があります。

于 2013-05-11T21:14:23.743 に答える