我在同一個解決方案中有兩個Windows窗體應用程序項目(一個測試和一個產品)和一個dll項目。這兩個winforms應用程序項目只有一個類/函數,Program.Main(),我問的圖標和app.config文件。它們都引用包含其他所有內容(包括表單)的相同dll。
我想要的是能夠設置圖標(Form.Icon)和文本(Form.Text)每次顯示應用程序中的新窗體。這樣做的目的是爲測試和產品(以及不同的發佈位置設置)設置不同的窗口標題和圖標。我怎樣才能做到這一點?我嘗試使用屬性>應用程序>資源>圖標和清單設置圖標,但它不起作用。我會很高興得到一個不同的圖標,但文本將是一個很大的優點。在Application.Run(new Form())之前是否有一個事件可以在Program.Main()方法中訂閱,我可以設置圖標和文本屬性爲窗體顯示,還是其他解決方案? 編輯:我爲這樣的財產以後希望,因爲有很多的形式:從app.config中的字段在Main方法中顯示的任何新窗體的C#winforms事件
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
SomeClass.NewWinFormShown += NewWinFormShown;
Application.Run(new FrmTrackingList());
}
private static void NewWinFormShown(object sender, NewWinFormShownEventArgs e)
{
e.NewWinFormShown.Icon = ThisAppsIcon;//from resources
e.NewWinFormShown.Text += " (TEST)";
}
你能夠對主DLL做任何更改嗎?你可以傳入構造函數中的圖標和窗口文本,並從DLL中設置它。然後根據哪個程序實例化不同的值。 –
我可以對DLL進行更改,但我正在尋找更通用的解決方案,因爲我有許多第一種形式生成的表單。我添加了一個我期望的例子。 – zBomb
你可以用windows鉤子做這種事情。然而,它不能替代正確的.NET技術。給這些表單另一個基類。 –