簡體   English   中英

創建一個新的 SaveFileDialog

[英]Creating A New SaveFileDialog

經過深思熟慮和 Google 搜索后,我下定決心要創建自己的 SaveFileDialog。

但我不知道從哪里開始,因為我在網上沒有看到任何東西,我想知道以前是否有人這樣做過,我應該研究什么,或者我該如何去做?

我想構建一個新的 SaveFileDialog,因為我覺得需要(或想要)向它添加更多功能。 而且我還覺得,如果我構建一個新的,我將更多地了解 C# 以及 SaveFileDialog 在幕后的工作方式

老實說,我不喜歡當前的 SaveFileDialog(是的,它完成了工作),但我真的很想向它添加額外的功能。

啊,我不認為有任何限制。 我不能肯定地說,因為我是新手,不知道需要什么或......

為什么不 擴展它而不是從頭開始創建呢?

對話只是一種形式。 從一個表單開始,添加文件系統瀏覽組件(列表視圖、下拉列表)等,在后面添加您的代碼。 它並不難,但可能很乏味,但我會說這是一個很好的教育練習,您將了解為什么您可能只想使用內置的。

如果您真的確定要創建自己的 SaveFileDialog 版本,我建議您不要只克隆現有版本。 如果你讓它看起來像標准的,人們會期望它的行為像標准的,但有很多小細節,你可能無法了解所有細節。

你想避免The Uncanny Valley of User Interface ,所以你應該清楚它不是試圖成為 SaveFileDialog + some-new-bits。 它應該只實現相同的目標(即選擇保存內容的位置)。

如果您確實想創建 SaveFileDialog + some-new-bits,那么沿着 Shoban 所說的 擴展對話框的路徑是可行的方法。

注意:如果您想做的只是為了學習目的而構建自己的,然后在您做的時候將其丟棄,那么這一切都不適用。 但是如果你想在一個真正的項目中使用它,那么你應該記住這一點。

SaveFileDialog是操作系統的一部分,實際上在不同版本的操作系統上看起來會有所不同。 自定義它的方法有很多,但在 Windows 窗體項目中並不那么容易。 它仍然可以完成,但您必須連接到本機 Win32 API。 如果您只是想玩轉 Windows 窗體和 C#,您可以繼續設計一個看起來像SaveFileDialog的窗體,但您會錯過本機對話框的所有優點。

您可以在 MSDN 上閱讀更多關於常見的打開和另存為對話框的信息,但是如果您習慣了 Windows 窗體編程,您可能會對本機 Win32 API 感到陌生。 Window Vista 引入了一個新的通用項對話框,基於 COM 的 API 使其更易於在 Windows 窗體應用程序中使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM