Вы можете просто использовать свойство Icon формы.
Например, для основной формы:
Program.cs
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(MainForm.Instance);
}
MainForm.cs
// Singleton instance
static public MainForm Instance { get; }
= new MainForm();
// Private constructor
private MainForm()
{
InitializeComponent();
try
{
Icon = (Icon)Icon.FromHandle(MyApp.Resources.GUI2.Logo_32x32_MyAppIcon.GetHicon());
// Icon = Icon.ExtractAssociatedIcon(Globals.ApplicationIconFilename);
}
catch (Exception ex)
{
// MessageBox.Show(ex.Message);
}
}
Затем вы можете сделать это для любой другой формы:
puyblic AboutBox()
{
InitializeComponent();
Icon = MainForm.Instance.Icon;
}
Вы также можете применить значок для всех открытых форм, когда вы нужно:
static public void ApplyApplicationIconToAllForms()
{
foreach ( Form form in Application.OpenForms )
if ( form.GetType != typeof(MainForm) )
form.Icon = MainForm.Instance.Icon;
}
Или сделайте то, что вы можете найти лучше и адаптировано к вашим потребностям.