Как в .Net по объекта->аттрибутам, определить состояние "креста красного", "смерти GDI"?
Если в System::Windows::Forms::Panel, в BackgroundImage подключить файл .ico, то от не поддержки расширения, появится красный крест. Чтобы объект восстанавливать только в случае ошибки, то нужно его определить. Это точно не:
IsDisposedIsAccesability
Ответы (1 шт):
Когда компонент не может отрисовать изображение в событии OnPaint, выбрасывается исключение, после чего на этом компоненте отрисовывается красный крест.
Предлагаю попробовать следующий код:
class RobustPanel : Panel
{
public bool RedXDetected { get; set; }
protected override void OnPaint(PaintEventArgs e)
{
try
{
base.OnPaint(e);
//RedXDetected = false;
}
catch
{
RedXDetected = true;
//throw;
}
}
}
После добавления изображения на панель проверяем свойство RedXDetected.
Нужно ли сбрасывать свойство в false при успешной отрисовке - решать вам. Удалите комментарий или делайте это вручную в своём коде.
Вероятно, есть смысл повторно выбросить исключение: throw. Тоже решать вам.