1

多くの考えと検討、そして Google を使った結果、私は自分の SaveFileDialog を作成することに必死になりました。

しかし、どこから始めればいいのかわからず、ウェブ上で何も見たことがないので、誰かがこれを以前に行ったことがあるかどうか、何を調べる必要があるか、またはどうすればこれを行うことができるかを知りたいです。

より多くの機能を追加する必要がある (または追加したい) と感じているため、新しい SaveFileDialog を作成したいと考えています。また、新しいものを構築すれば、C# と、SaveFileDialog が舞台裏でどのように機能するかについて、さらに多くを学ぶことができると感じています。

正直なところ、私は現在の SaveFileDialog が好きではありません (はい、それで機能します) が、機能を追加したいと思っています。

あ、制限はないと思います。私はこれに不慣れで、何が必要なのかわからないため、はっきりとは言えません...

4

4 に答える 4

8

ゼロから作成するのではなく、拡張してみませんか?

于 2009-09-07T08:52:58.223 に答える
4

ダイアログは単なるフォームです。フォームから始めて、ファイル システム ブラウジング コンポーネント (リストビュー、ドロップダウン) などを追加し、コード ビハインドを追加します。それほど難しくはありませんが、退屈かもしれませんが、組み込みのものを使用したい理由を学ぶための良い教育演習だと思います.

于 2009-09-07T08:41:29.630 に答える
3

SaveFileDialogの独自のバージョンを作成することが本当に確実な場合は、既存のバージョンを複製するだけではないことをお勧めします。標準のもののように見せれば、人々はそれが標準のもののように振る舞うことを期待するでしょうが、細かい部分がたくさんあり、おそらくすべてを手に入れることはできません。

ユーザーインターフェイスの不気味の谷を避けたいので、それがSaveFileDialog+some-new-bitsになろうとしているのではないことを明確にする必要があります。同じ目標を達成する必要があります(つまり、何かを保存する場所を選択する)。

SaveFileDialog + some-new-bitsを作成したい場合は、Shobanが言うように、ダイアログを拡張するパスをたどるのが最善の方法です。

注:学習目的で独自に作成し、実行中に破棄するだけの場合、これは実際には当てはまりません。しかし、それを実際のプロジェクトで使用したい場合は、これを覚えておく必要があります。

于 2009-09-07T09:10:04.523 に答える
1

これSaveFileDialogはオペレーティング システムの一部であり、実際には OS のバージョンによって外観が異なります。カスタマイズする方法はたくさんありますが、Windows フォーム プロジェクトではそれほど簡単ではありません。それでも実行できますが、ネイティブの Win32 API にフックする必要があります。単純に Windows フォームと C# をいじりたい場合は、次のように見えるフォームを設計することもできSaveFileDialogますが、ネイティブ ダイアログのすべての利点を見逃してしまいます。

一般的な [開く] ダイアログ ボックスと [名前を付けて保存] ダイアログ ボックスの詳細については、MSDNを参照してください。ただし、Windows フォーム プログラミングに慣れている場合は、ネイティブの Win32 API に疎外感を覚えるかもしれません。Window Vista は新しい共通項目ダイアログを導入し、COM ベースの API により Windows フォーム アプリケーションでの使用が容易になりました。

于 2009-09-07T08:56:01.617 に答える