Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Запрет на закрытие..


Автор: Doss 23.11.2007, 12:03
Как запретить закрывать форму через alt_f4

Автор: VisualProgrammerNET 23.11.2007, 13:24
как вариант навесить на шорткат Alt+F4 какой-нить пустой метод. Я не проверял, но должно по идее сработать =)

Автор: Doss 23.11.2007, 13:26
Пробую...спасибо...

Автор: QryStaL 23.11.2007, 13:35
Код

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.F4)
            {
                e.SuppressKeyPress = true;
            }
        }


Не забудь установить свойство формы KeyPreview в true.

Автор: CYBERDREAM 23.11.2007, 13:52
А тема то уже поднималась, и не раз кажись 

Автор: Romeo063 30.11.2007, 23:05
Цитата(QryStaL @ 23.11.2007,  13:35)
Код

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.F4)
            {
                e.SuppressKeyPress = true;
            }
        }


Не забудь установить свойство формы KeyPreview в true.

А не подскажите как это в С++ сделать?

if(e->KeyChar == (char)13)
{
e->Handled = true;
}

Если будет нажат Enter то выполнится условие! Я вот только не пойму (shar)13 это что Enter? Непонятно)

Объясните кто-нибудь плиз! А как при нажатии Esc или F4?

Автор: AET 1.12.2007, 12:12
Цитата(QryStaL @ 23.11.2007,  13:35)
Код

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.F4)
            {
                e.SuppressKeyPress = true;
            }
        }


Не забудь установить свойство формы KeyPreview в true.

чтото не работает

Автор: Retro 1.12.2007, 12:40
Цитата(AET @  1.12.2007,  11:12 Найти цитируемый пост)
чтото не работает 

Все работает. smile 

Автор: AET 1.12.2007, 12:50
вот код программы не работает
Код
namespace WindowsApplication1
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
           
        }
        bool _canClose = true;
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                case Keys.F4:
                    if (e.Alt) _canClose = false;
                    return;
            }
        }

Автор: QryStaL 2.12.2007, 15:57
AET, не пойму сути вопроса. Тебе дали рабочий кусок кода, ты выкинул из него ключевые вызовы - результат предсказуем. Сначала разберись, что делает каждая строчка в моем примере - тогда таких проблем не возникнет. Или влом в МСДН залезть?

Автор: AET 2.12.2007, 21:02
блогодарен за ответ подскажи как можно сделать привязку на закрытие формы клавиши типа Alt+x для выхода

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)