簡體   English   中英

如何在不觸碰C#應用程序的主要代碼的情況下為表單及其創建的所有子表單設置默認字體?

[英]How can i set the default font for my form and all child forms it creates, without touching the main code of the c# app?

我要實現的目標如下:假設我們有一個用C#編寫的基本程序,無論它做什么,它都有一些控件,顯示一些自制對話框等並具有插件支持。 您可以在運行時動態加載插件,然后再次卸載它們。 我如何編寫一個插件,讓您選擇一種字體,然后將選擇的字體設置為加載該插件,所有子控件(很簡單)以及在對話框之后顯示的所有對話框的默認字體。字體改變了嗎?

我已經搜尋了幾個小時,而我發現的大部分內容都是這樣的:

Form2 win = new Form2();
win.Font = this.Font;
win.ShowDialog(this);

當然這有效,這意味着觸摸源代碼並在顯示窗口的任何位置進行更改。 而且,插件顯然無法在程序運行時重新編譯程序,或者無法找到需要更改或執行上述所有操作並重新啟動程序而不會丟失任何數據的所有代碼行。

目的是使對主程序一無所知的人仍然可以編寫一個插件,讓他們為程序選擇所需的字體。 有人只會知道如何對插件進行編程以及如何加載/卸載它。

搜索的材料包括:

在Windows中更改默認字體會弄亂我的Win Forms按鈕 http://msdn.microsoft.com/de-de/library/system.drawing.systemfonts.defaultfont%28v=vs.110%29.aspx 如何使用系統字體設置Windows C#應用程序

可以使用指示FontName的字符串實例化System.Drawing.Font。

 Label1.Font = new Font(Label1.Font.Name, currentSize, 
            Label1.Font.Style);

暫無
暫無

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

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