копать в сторону user32.dll (вечером с усталости.. ни че внятного пока больше не скажу)
ps
придется осмыслить что такое win32 api, хендл окна, атрибут [DllImport("USER32.DLL")] .. и кучу всяких попутных нюансов.. удачи..
ps я очевидно отрефлексировал по своему старому опыту ))
.. на слова "переопределение" и крестик -
убрать заголовок окна, переопределить содержимое меню окна, убрать крестик .. вот о чем подумал
.. а OnClosing главной формы.. не то что бы я не знал, просто всегда использовал для действий перед закрытием программы..
.. я уже успел сообразить типовой сценарий - сворачивание в трей, и с треем был опыт, просто я выбрал стратегию писать легковестный агент для трея, и отменять закрытие не было в моей практике, то есть снова
не замкнуло )))
.. ну и сделайте скидку на возраст )).. мне 52.. и уже с половиной )) .. тем не менее - я кодирую, при чем все еще, не редко, за деньги ;)))
pps тем не менее - коллеги дали верный ответ... и я тоже возьму в копилку... альтернатива "леговестному агенту в трее" - свернутое и скрытое приложение, не требует времени для реактивации... в зависимости от задачи, это может быть верным решением
.. но если надо экономить память, а главная форма легкая - то легковестный, автономный трей-агент может быть и лучше
всем спасибо! всем удачи! ))