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


Автор: CYBERDREAM 18.10.2007, 09:52
Доброго времени суток народ smile 
Не пойму что за глюк, но не могу отловить нажатие Escape на datagrid. Повесил событие и на определенный столбец при создании стиля, и та же история. 
Код

        private void TextBox_KeyPress(object sender, KeyEventArgs e)
        {
            DataGridTextBoxColumn tb=new DataGridTextBoxColumn();
            tb.MappingName="dot";
            tb.Alignment=HorizontalAlignment.Center;
            tb.HeaderText="п.п.";
            tb.Width=30;
            tb.TextBox.KeyPress+=new KeyPressEventHandler(TextBox_KeyPress);

            dgts.GridColumnStyles.Add(tb);            

        }

        //...............

        private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
        {
            //Должен отменить нажатие, но escape пропускает
            MessageBox.Show("well done");
            e.Handled=true;
        }

в чем загвоздочка? Escape проверит нельзя в принципе?

Автор: tol05 18.10.2007, 10:45
Цитата(CYBERDREAM @  18.10.2007,  09:52 Найти цитируемый пост)
но не могу отловить нажатие Escape на datagrid

Почему? Я смог
Код

private void dgView_KeyDown(object sender, KeyEventArgs e)
        {
            if(e.KeyValue == 27)
            {
                e.Handled = true;
                MessageBox.Show("Escape");
            }
        }

Автор: CYBERDREAM 18.10.2007, 11:34
Код

        private void dg_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            if(e.KeyValue==27)
            {
                MessageBox.Show("Well done");
                e.Handled=true;
            }
        }

и вуаля, не хочет!  smile  Не пойму, что может мешать ему. Просто игнорит

Автор: tol05 18.10.2007, 11:40
e.Handled=true;

переставь наверх, как у меня.

Автор: CYBERDREAM 18.10.2007, 12:24
так даже мессэдж не высккивает!
но если я нажимаю какую либо букву, или цифу, то почему то выскакивает сообщение  smile 

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