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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TreeView Изменение поведения 
:(
    Опции темы
Leksey
Дата 17.11.2006, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Написал я небольшой контрол по типу комбобокса с выпадающим деревом и возникло несколько проблем:
1. При нажатии Enter в выпадающем TreeView у меня раздаеться звук и я не могу убрать его.
2. Когда я щелкая мышью в выпадающем дереве я его скрываю. Возникает такая проблема - когда я щелкаю на часть TreeView без текста все нормально, но когда я щелкаю имнно по тексту Item то у меня главное окно становиться неактивным. 
Может кто подскажет чего
PM MAIL   Вверх
mr.DUDA
Дата 17.11.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Цитата(Leksey @  17.11.2006,  18:34 Найти цитируемый пост)
1. При нажатии Enter в выпадающем TreeView у меня раздаеться звук и я не могу убрать его.

Попробуй унаследоваться от TreeView, перекрыть OnKeyDown, выставить e.Handled = true при нажатии Enter.

Цитата(Leksey @  17.11.2006,  18:34 Найти цитируемый пост)
2. Когда я щелкая мышью в выпадающем дереве я его скрываю. Возникает такая проблема - когда я щелкаю на часть TreeView без текста все нормально, но когда я щелкаю имнно по тексту Item то у меня главное окно становиться неактивным. 

Немного не понял, что такое "часть TreeView без текста" ?


--------------------
user posted image
PM MAIL WWW   Вверх
Leksey
Дата 17.11.2006, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Наследовался от treeview не помогло smile
Это область где нет текста smile


Вторую проблему решил, правда немного варварскими способами smile
Когда мне приходило nodeMouseClick я не закрывал выпадающее дерево, а с помощью BeginInvoke посылал сообщение с вызовом закрытия выпадающего дерева. Все сработало  smile 
PM MAIL   Вверх
mr.DUDA
Дата 17.11.2006, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Тьфу, OnKeyDown перекрыть надо не в Tree, а в комбобоксе. И ещё можно попробовать IsInputKey перекрыть, если не поможет и возвращать true для Enter.


--------------------
user posted image
PM MAIL WWW   Вверх
Leksey
Дата 18.11.2006, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не помогло smile
Но звук точно после этих событий появляеться...
PM MAIL   Вверх
mr.DUDA
Дата 18.11.2006, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Проверил в тестовом примере, такой комбобокс не выдаёт звуков:
Код
using System;
using System.Windows.Forms;

namespace WindowsApplication1
{
    class ComboBox2 : ComboBox
    {
        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == Keys.Enter && !this.DroppedDown)
                return true;
            else
                return base.ProcessCmdKey(ref msg, keyData);
        }
    }
}



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

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


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




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


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

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