0

私はファイルを開くことに取り組んでいます。要件は、ユーザーがフィルターでテキストを選択した場合、ユーザーは複数のファイルを選択できることです。ただし、ユーザーが任意の画像ファイルを選択した場合、ユーザーは単一のファイルを選択できます。

1 つの方法は、dialog.FileOk デリゲートと初期チェックをキャプチャすることです。

同じことを達成する他の方法はありますか。

ありがとうございました、

4

2 に答える 2

0

OpenFileDialogは、FileSelected または FilterChanged のイベントを提供しません。したがって、デフォルトのOpenFileDialogでは、 FileOk イベントをサブスクライブし、ユーザーが選択した後にキャンセルまたは受け入れることしかできません。その場で設定を変更したい場合 (たとえば、ユーザーがフィルターで画像を選択したときに複数のファイルの選択を無効にするなど)、OpenFileDialogを拡張する必要があります。残念ながら、デフォルトのものは封印されているため、そのまま継承することはできません。したがって、これらの記事を見てください。

于 2013-02-18T07:25:26.600 に答える
0

次のコードを使用します。

private void button1_Click(object sender, System.EventArgs e)
{
    openFileDialog1.Filter = "Text Files (.txt)|*.txt|All Files (*.*)|*.*";
    openFileDialog1.FilterIndex = 1;

   if(openFileDialog1.ShowDialog() == DialogResult.OK)
   {
      System.IO.StreamReader sr = new 
         System.IO.StreamReader(openFileDialog1.FileName);
      MessageBox.Show(sr.ReadToEnd());
      sr.Close();
   }
于 2013-02-20T15:42:20.613 に答える