| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > .NET C# PromptSelectionOptions и Keywords

.NET C# PromptSelectionOptions и Keywords

Ответ
Поиск в этой теме
Непрочитано 15.11.2011, 14:51 #1
.NET C# PromptSelectionOptions и Keywords
xsakabsx
 
Регистрация: 18.04.2010
Сообщений: 46

Как отловить если keywords не с клавиатуры идут а с мышки (из меню вызванного правой кнопкой ?)

Код:
[Выделить все]
[CommandMethod("testuserinput")]
        public void testuserinput() 
        {
            
            Editor acEd = Application.DocumentManager.MdiActiveDocument.Editor;
           PromptSelectionOptions test = new PromptSelectionOptions();
           
           test.Keywords.Add("Один"); 
           test.Keywords.Add("Два");
           test.Keywords.Add("Три");
           test.MessageForAdding=string.Format("\n Выберите обьекты или {0}",test.Keywords.GetDisplayString(true));
           test.KeywordInput += new SelectionTextInputEventHandler(test_KeywordInput);
           PromptSelectionResult newRes = acEd.GetSelection(test);
           
        }

       static void test_KeywordInput(object sender, SelectionTextInputEventArgs e)
        {
            Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\n вы ввели {0}",e.Input);
        }
Просмотров: 3090
 
Непрочитано 16.11.2011, 17:57
#2
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 813


Посмотри здесь
http://through-the-interface.typepad...selection.html

Можно установить в опциях на правый клик-->воспринимать нажатие как ввод Enter
тогда следующий код может отлавливать все некорретные нажатия клавиш
Код:
[Выделить все]
        public void testuserinput() 
        {
            
            Editor acEd = Application.DocumentManager.MdiActiveDocument.Editor;
            acEd.PromptedForSelection += new PromptSelectionResultEventHandler(acEd_PromptedForSelection);
           PromptSelectionOptions test = new PromptSelectionOptions();
           test.PrepareOptionalDetails = true;
           test.Keywords.Default = "ENTER";
           test.Keywords.Add("Один"); 
           test.Keywords.Add("Два");
           test.Keywords.Add("Три");
           test.MessageForAdding=string.Format("\n Выберите обьекты или {0}",test.Keywords.GetDisplayString(true));
           test.KeywordInput += new SelectionTextInputEventHandler(test_KeywordInput);
          PromptSelectionResult newRes = acEd.GetSelection(test);

          acEd.PromptedForSelection -= new PromptSelectionResultEventHandler(acEd_PromptedForSelection);
        }

        static void test_KeywordInput(object sender, SelectionTextInputEventArgs e)
        {
         Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\n вы ввели {0}", e.Input);

        }
        void acEd_PromptedForSelection(object sender, PromptSelectionResultEventArgs e)
        {
            if (e.Result.Status == PromptStatus.Error)
                Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor.WriteMessage("\n ==> Некорректный ввод: {0}", e.Result.ToString());
        }

Последний раз редактировалось Олег (jr.), 16.11.2011 в 19:45. Причина: добавлен код
Олег (jr.) вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > .NET C# PromptSelectionOptions и Keywords

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Локализация руководства разработчика по .Net API AutoCAD hwd .NET 22 08.09.2010 19:17
Существует ли аналог (findfile) в .NET? Кулик Алексей aka kpblc .NET 16 13.08.2010 00:11
.Net событие double-click как поймать dvim .NET 7 04.04.2010 15:13