Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как отключить кнопку Esc? 
:(
    Опции темы
teda
Дата 22.9.2009, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



всем привет .
я написал программу в которую интегрировал powerpoint viewer.
Пре нажатие клавиши Esc происходит автоматический выход из powerpoint viewer .
как мне отключить кнопку Esc только под мою программу?
PM MAIL   Вверх
KelTron
Дата 22.9.2009, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Перехватываешь событие KeyDown и если нажата кнопка "Escape" то делаешь e.Cancel = true. Что то типа этого.


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
teda
Дата 22.9.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



фокус находится на компоненте  viewera  поэтому я не могу перехватить нажатие Esc,
мне надо отключить кнопку Esc пре запуске моей программы, а не ловить ее события .
поетому этот вариант к сожалению не подходит .
PM MAIL   Вверх
KelTron
Дата 23.9.2009, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Поставь у формы на которой лежит компонент KeyPreview = true, и перехватывай событие KeyDown формы, а не компонента.
Просто "отключить кнопку" не получится.

Обработчик должен выглядеть примерно так:
Код

private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                e.Handled = true;
            }
        }


Это сообщение отредактировал(а) KelTron - 23.9.2009, 07:14


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
teda
Дата 23.9.2009, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



я изменил параметр KeyPreview = true
но  все равно событие кнопки не ловится :(

Код

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            axPowerPointViewer1.InitControl();
            axPowerPointViewer1.LoadFile("c:\\teda.ppt");
         
        }
        private void button1_KeyDown(object sender, KeyEventArgs e)
        {

        }


может можно отключить кнопку в риестере ?

Это сообщение отредактировал(а) teda - 23.9.2009, 17:09
PM MAIL   Вверх
KelTron
Дата 23.9.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



При чём тут какая то кнопка button1, ты вообще читаешь то, что я пишу?
Цитата(KelTron @  23.9.2009,  07:06 Найти цитируемый пост)
перехватывай событие KeyDown формы



Это сообщение отредактировал(а) KelTron - 23.9.2009, 18:48


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
teda
Дата 23.9.2009, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 25.10.2008

Репутация: нет
Всего: нет



сорри .скопировал не тот кусок кода , но всё равно фокус на контроле и  и событие не перехватывается.
Код

  public Form1()
        {
            InitializeComponent();
            axPowerPointViewer1.InitControl();
            axPowerPointViewer1.LoadFile("c:\\teda.ppt");
        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Escape)
            {
                e.Handled = true;
            }
        }


Это сообщение отредактировал(а) teda - 23.9.2009, 19:35
PM MAIL   Вверх
Heinzz
Дата 23.9.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 5
Всего: 9



Вы забыли написать 

this.KeyPreview = true;
после инициализации формы


--------------------
user posted image
PM MAIL   Вверх
kobra
Дата 24.9.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.