2

私は c# でコーディングしており、SaveFileDialog の [保存] ボタンと [キャンセル] ボタンのデフォルトの配置を変更したいと考えています。デフォルトの配置では、「保存」ボタンが「キャンセル」ボタンの上にあります。

私が望むのは、「保存」ボタンの右側に「キャンセル」ボタンを配置することです。

私はウェブ上で検索し、これらのボタンのテキストを変更できることを発見しました(回答はstackoverflow自体にありました)。配置(場所)を変更しても何も見つかりませんでした。

これまでに経験したことがある方がいらっしゃいましたら、解決策を教えてください。...

ありがとうございました

4

2 に答える 2

4

これをしないでください。

ユーザーは、これらのボタンが表示される場所に慣れています。レイアウトを変更しようとすると、アプリが間違っていると感じるだけです。

これを行う必要がある場合は、レガシー ファイル ダイアログを使用するようにしてください (これにより、Vista/7 ではダイアログがさらに奇妙に見えます)。構造体の lpfnHook フィールドを使用OPENFILENAMEして、ダイアログ プロシージャへのフックを取得します。CDN_INITDONE 通知に応答し、MoveWindow または SetWindowPos を使用してボタンを移動します。ボタン ウィンドウ ハンドルを探す必要があります。

しかし、実際には、これを行わないでください。アプリを悪化させるだけです。

于 2011-03-23T11:27:10.073 に答える
3

それは鐘を鳴らします。ボタンのテキストを変更するコードがあれば、ボタン ウィンドウのハンドルが得られます。GetWindowRect と MoveWindow を pinvoke してボタンを別の場所に移動するときに使用できます。宣言については、pinvoke.net にアクセスしてください。

Windows のバージョンごとにダイアログが変更されていることに注意してください。次のものはあなたのプログラムを壊すかもしれません。これをしなくても、顧客が失望することはありません。

于 2011-03-23T12:32:54.103 に答える