我正在諮詢一個大的.Net winforms項目,該項目必須能夠在「觸摸」模式下運行,因此可以使用觸摸屏界面進行操作。應用程序體系結構已包含縮放邏輯,用於放大標準.Net窗體和控件上的字體/顯示,並且自定義控件還可處理縮放。帶有大字體的Windows對話框
問題是,應用程序使用OpenFileDialog和SaveFileDialog,它不使用相同的邏輯進行縮放(這基本上是以遞歸方式調整控件和窗體上Font屬性的大小)。我相信這些對話本質上就是Windows對話框,而OpenFileDialog類實際上只是包裝類,它們公開了一個標準的.Net接口來與它們進行交互。
一個解決方案可能是實現這些事情的自定義對話框,但這可能會有點廣泛的工作。我們真正想要做的是以某種方式縮放這個特定對話框的字體大小(可能通過一些P/Invoke窗口控制魔術)?
我知道觸摸啓用的一個解決方案通常是調整Windows的字體大小,但是這個想法並沒有真正吸引這家公司,他們寧願擴展應用程序本身,而將其餘的操作系統不變。
那麼,關於如何將這些對話框縮放到更大的字體的任何經驗或想法?或者我們應該咬緊牙關併爲此創建自定義對話框?
[This](http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx)文章可能會對你有所幫助。 – ahazzah
這篇文章很好,但我不會這樣。我寧願重寫代碼,而不是從黑客密封的.NET類。下一個版本的框架或API更改可能會輕易破壞您的代碼。使用第三方控件可以爲您提供很多幫助(付費或免費)。我會先找一個樹形控件,這很難定製和所有。 –
[This](http://www.codeproject.com/KB/dialog/CustomizeFileDialog。aspx)其他文章可能也會幫助你=) –