Как отобразить настраиваемый значок для вторичной формы при открытии из основной формы

#c# #winforms #icons

#c# #winforms #Значки

Вопрос:

У меня есть две формы: главное окно и дополнительное окно.
Когда я нажимаю Открыть из меню в главном окне, должно открыться дополнительное окно. По умолчанию второе окно должно открываться в развернутом состоянии. И когда он открывается в развернутом состоянии, я хочу, чтобы он отображал пользовательский значок, который я настроил для него.
Но вместо этого он показывает значок Windows.
Что я должен сделать, чтобы он отображал мой пользовательский значок, когда я открываю его из главного окна?

Я попытался установить это.значок = новая система.Drawing.icon (stream) также, но бесполезно.

 public SecondaryWindow()
{
    InitializeComponent();
    currentDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
    this.Icon = new System.Drawing.Icon(currentDirectory   @"images_UDp_icon.ico");
}

private void secondarytest_Load(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Maximized;            
    this.ShowIcon = true;
}
  

Он показывает значок Windows по умолчанию при открытии из главного окна в развернутом состоянии. Но когда я сворачиваю его, а затем разворачиваю, он показывает пользовательский значок.

Комментарии:

1. Я не понимаю вашей проблемы. Вы имеете в виду, что хотите, чтобы во втором окне отображался пользовательский значок, но только в определенном состоянии?

2. нет, он должен отображать пользовательский значок при всех условиях. Но то, что происходит, при первом открытии отображается значок Windows, а при сворачивании отображается пользовательский значок.

3. Установите WindowState = FormWindowState.Maximized в конструкторе: это бесполезно, если установлено в Form.Load . this.ShowIcon = true; используется по умолчанию, вы можете удалить его. Проверьте с помощью this.Icon = new Icon(Path.Combine(Application.StartupPath, "images_UDp_icon.ico")); Если значок не установлен / изменен, то ваш значок недействителен.

4. Это не сработало … добавлена строка в файле конструктора, но она также не открылась в развернутом состоянии.

5. Обычно этого, конечно, не происходит. Таким образом, в вашем коде есть что-то еще, что изменяет этот значок, или форма воссоздается в какой-то момент. Проведите тест, используя совершенно новую форму, где вы просто устанавливаете значок в конструкторе.