Найдено результатов: 13

Как клавиатура вниз или вверх между выпадающим "options"?

У меня есть специально построенный динамический выпадающий список на основе ajax [div].

У меня есть поле [input], которое; onkeyup, запускает поиск Ajax, который возвращает результаты в div s и возвращается в использование innerHTML . Эти div s все имеют основные моменты onmouseover так, типичный успешный поиск дает следующую структуру (простите полу-код):

[input]
 [div id=results] //this gets overwritten contantly by my AJAX function
  [div id=result1 onmouseover=highlight onclick=input.value=result1]
  [div id=result2 onmouseover=highlight onclick=input.value=result2]
  [div id=result2 onmouseover=highlight onclick=input.value=result2]
 [/div]

Это работает.

Однако мне не хватает важных функций за регулярными элементами HTML. Я не могу клавиатуру вниз или вверх между "options".

Я знаю, что javascript обрабатывает события клавиатуры, но; я не смог найти хорошего гида. (Конечно, последующий вопрос будет заключаться в следующем: могу ли я использовать <ENTER> для запуска этого события onclick ?)

javascript   events   dom   keyboard    

574   2   16:03, 1st July, 2020


Лучший способ захватить ключевые события в NSTextView?

Я медленно изучаю Objective-C и Cocoa, и единственный способ, который я вижу до сих пор, чтобы захватить ключевые события в текстовых представлениях, - это использовать делегирование, но мне трудно найти полезную документацию и примеры того, как реализовать такое решение. Может ли кто-нибудь указать мне правильное направление или оказать помощь из первых рук?

objective-c   cocoa   events    

528   4   19:22, 25th August, 2020


Windows формы потоков и событий - ListBox обновления быстро, но progressbar испытывает огромную задержку

Наша команда создает новую систему документооборота по подбору персонала взамен старой. Мне было поручено перенести старые данные в новую схему. Я решил сделать это, создав небольшой проект Windows Forms, поскольку схема радикально отличается, а прямые скрипты TSQL не являются адекватным решением.

Основной запечатанный класс 'ImportController', выполняющий эту работу, объявляет следующее событие делегата:

public delegate void ImportProgressEventHandler(object sender, ImportProgressEventArgs e);
public static event ImportProgressEventHandler importProgressEvent;

Главное окно запускает статический метод в этом классе, используя новый поток:

Thread dataProcessingThread = new Thread(new ParameterizedThreadStart(ImportController.ImportData));
dataProcessingThread.Name = "Data Importer: Data Processing Thread";
dataProcessingThread.Start(settings);

ImportProgressEvent args содержит строковое сообщение, максимальное значение int для индикатора выполнения и текущее значение progress int. В Windows форма зарегистрировавшегося на мероприятие:

ImportController.importProgressEvent += new ImportController.ImportProgressEventHandler(ImportController_importProgressEvent);

И реагирует на событие таким образом, используя свой собственный делегат:

    private delegate void TaskCompletedUIDelegate(string completedTask, int currentProgress, int progressMax);

private void ImportController_importProgressEvent(object sender, ImportProgressEventArgs e)
            {
                this.Invoke(new TaskCompletedUIDelegate(this.DisplayCompletedTask), e.CompletedTask, e.CurrentProgress, e.ProgressMax);
            }

Наконец, индикатор выполнения и listbox обновляются:

private void DisplayCompletedTask(string completedTask, int currentProgress, int progressMax)
        {
            string[] items = completedTask.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);

            foreach (string item in items)
            {
                this.lstTasks.Items.Add(item);
            }

            if (currentProgress >= 0 && progressMax > 0 && currentProgress <= progressMax)
            {
                this.ImportProgressBar.Maximum = progressMax;
                this.ImportProgressBar.Value = currentProgress;
            }
        }

Дело в том, что ListBox, похоже, обновляется очень быстро ,но индикатор выполнения никогда не перемещается, пока пакет не будет почти завершен??? а что дает ?

windows   multithreading   events   forms   delegates    

474   6   22:12, 17th August, 2020


Предотвратить запуск событий TreeView в VB6?

В некотором коде VB6 у меня есть обработчик для события коллапса TreeView:

Private Sub MyTree_Collapse(ByVal Node as MSComCtlLib.Node)

Это вызывается всякий раз, когда узел в дереве сворачивается, будь то пользователем или программно. Как оказалось, через некоторое Окольное выполнение может случиться так, что этот обработчик закончит тем, что скажет узлу свернуться, что приведет к бесконечной рекурсии.

Я могу придумать несколько способов освежевать эту кошку, но мне кажется, что проще всего сказать TreeView не вызывать события в течение некоторого периода времени. Я не могу найти простой звонок, чтобы позволить мне сделать это, хотя. Кто-нибудь успешно сделал это, или мне нужно отслеживать состояние каким-то другим способом, чтобы я мог реагировать соответствующим образом, когда появляются рекурсивные события?

events   vb6   treeview    

432   4   11:36, 18th August, 2020


Прослушивание событий в другом приложении

Предположим, что у меня есть два приложения, написанные в C#.. первое-это стороннее приложение, которое вызывает событие под названием "OnEmailSent".

Второе-это пользовательское приложение, которое я написал, что хотел бы каким-то образом подписаться на "OnEmailSent" даже первого приложения.

Есть ли какой-либо способ, которым я мог бы каким-то образом прикрепить второе приложение к экземпляру первого приложения, чтобы прослушать событие "OnEmailSent"?


Поэтому для дальнейшего разъяснения мой конкретный сценарий заключается в том, что у нас есть пользовательское стороннее приложение, написанное на c#, которое вызывает событие "OnEmailSent". Мы можем видеть, что событие существует, используя рефлектор.

То, что мы хотим сделать, - это выполнить некоторые другие действия, когда этот компонент отправляет email.

Самый эффективный способ, который мы можем придумать, - это использовать некоторую форму IPC, как предложил Андерс, и слушать событие OnEmailSent, вызванное сторонним компонентом.

Поскольку компонент написан на языке C#, мы играем с идеей написать другое приложение C#, которое может присоединяться к исполняющему процессу, и когда оно обнаружит, что событие OnEmailSent было вызвано, оно выполнит свой собственный код обработки событий.


Возможно, я что-то упускаю, но из того, что я понимаю о том, как работает удаленное взаимодействие, следует, что должен быть сервер, определяющий какой-то контракт, на который клиент может подписаться.

Я больше думал о сценарии, в котором кто-то написал отдельное приложение, например outlook, которое предоставляет события, на которые я хотел бы подписаться из другого приложения.

Я предполагаю, что сценарий, о котором я думаю, - это отладчик .net и то, как он может присоединяться к исполняемым сборкам для проверки кода во время его выполнения.

c#   events   delegates    

361   5   00:57, 7th August, 2020


Вызов базовых методов при переопределении событий уровня страницы

В моем коде за спиной я связываю свои события вот так:

protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    btnUpdateUser.Click += btnUpateUserClick;
}

Я сделал это таким образом, потому что это то, что я видел в примерах.

  • Нужно ли вызывать метод base.OnInit()?
  • Будет ли он неявно называться?
  • Лучше ли вызывать его в начале метода или в конце?
  • Каков будет пример, когда путаница в базовом методе может привести вас к неприятностям?

asp.net   events   webforms    

429   6   11:00, 15th August, 2020


Прослушивание событий в другом приложении

Предположим, что у меня есть два приложения, написанные в C#.. первое-это стороннее приложение, которое вызывает событие под названием "OnEmailSent".

Второе-это пользовательское приложение, которое я написал, что хотел бы каким-то образом подписаться на "OnEmailSent" даже первого приложения.

Есть ли какой-либо способ, которым я мог бы каким-то образом прикрепить второе приложение к экземпляру первого приложения, чтобы прослушать событие "OnEmailSent"?


Поэтому для дальнейшего разъяснения мой конкретный сценарий заключается в том, что у нас есть пользовательское стороннее приложение, написанное на c#, которое вызывает событие "OnEmailSent". Мы можем видеть, что событие существует, используя рефлектор.

То, что мы хотим сделать, - это выполнить некоторые другие действия, когда этот компонент отправляет email.

Самый эффективный способ, который мы можем придумать, - это использовать некоторую форму IPC, как предложил Андерс, и слушать событие OnEmailSent, вызванное сторонним компонентом.

Поскольку компонент написан на языке C#, мы играем с идеей написать другое приложение C#, которое может присоединяться к исполняющему процессу, и когда оно обнаружит, что событие OnEmailSent было вызвано, оно выполнит свой собственный код обработки событий.


Возможно, я что-то упускаю, но из того, что я понимаю о том, как работает удаленное взаимодействие, следует, что должен быть сервер, определяющий какой-то контракт, на который клиент может подписаться.

Я больше думал о сценарии, в котором кто-то написал отдельное приложение, например outlook, которое предоставляет события, на которые я хотел бы подписаться из другого приложения.

Я предполагаю, что сценарий, о котором я думаю, - это отладчик .net и то, как он может присоединяться к исполняемым сборкам для проверки кода во время его выполнения.

c#   events   delegates    

459   5   03:46, 23rd August, 2020


Самый чистый способ вызова событий перекрестного потока

Я нахожу, что модель событий .NET такова, что я часто вызываю событие в одном потоке и слушаю его в другом потоке. Мне было интересно, какой самый чистый способ маршалировать событие из фонового потока в мой поток UI.

Основываясь на предложениях сообщества, я использовал это:

// earlier in the code
mCoolObject.CoolEvent+= 
           new CoolObjectEventHandler(mCoolObject_CoolEvent);
// then
private void mCoolObject_CoolEvent(object sender, CoolObjectEventArgs args)
{
    if (InvokeRequired)
    {
        CoolObjectEventHandler cb =
            new CoolObjectEventHandler(
                mCoolObject_CoolEvent);
        Invoke(cb, new object[] { sender, args });
        return;
    }
    // do the dirty work of my method here
}

c#   multithreading   events    

498   9   18:15, 28th August, 2020


Могу ли я захватить события клавиатуры Windows Mobile PIE?

Кто-нибудь знает способ захвата событий клавиатуры (keyup / keydown) в Portable IE под Window mobile? Я заметил, что ключевые события не поддерживаются в JS, и хотел бы придумать решение, которое работает без каких-либо дополнений на стороне клиента.

internet-explorer   windows-mobile   key-events    

350   1   06:38, 9th August, 2020


Разница между событиями проводки с "новым" и без него"

В чем разница (если она есть) между этими двумя строками кода?

tmrMain.Elapsed += new ElapsedEventHandler(tmrMain_Tick);

и

tmrMain.Elapsed += tmrMain_Tick;

Оба, кажется, работают точно так же. Означает ли C#, что вы имеете в виду первое, когда вводите последнее?

c#   events   syntax   delegates    

438   6   16:39, 13th August, 2020


В чем разница между делегатами и мероприятиями?

В чем разница между делегатами и мероприятиями? Разве оба они не содержат ссылок на функции, которые могут быть выполнены?

c#   events   delegates   glossary    

531   11   12:33, 4th August, 2020


DoDragDrop и MouseUp

Есть ли простой способ гарантировать, что после того, как drag-and-drop не завершится, событие MouseUp не будет съедено и проигнорировано платформой?

Я нашел сообщение в блоге, описывающее один механизм, но он включает в себя много ручного учета, включая флаги состояния, события MouseMove, ручную проверку "mouse leave" и т. д. все это я предпочел бы не реализовывать, если этого можно избежать.

.net   winforms   events   drag-and-drop    

495   1   09:33, 9th August, 2020


Как поддерживать правильное событие Javascript после использования cloneNode (true)

У меня есть элемент формы, который содержит несколько строк входных данных. Подумайте о каждой строке как об атрибутах нового объекта, который я хочу создать в своем веб-приложении. Кроме того, я хочу иметь возможность создавать несколько новых объектов в одном посте HTTP. Я использую встроенный метод Javascript cloneNode (true) для клонирования каждой строки. Проблема в том, что каждая входная строка также имеет ссылку удаления, прикрепленную к ее onclick-событию:

// prototype based
<div class="input-line">
    <input .../>
    <a href="#" onclick="$(this).up().remove();"> Remove </a>
</div>

При нажатии на ссылку удаления клонированной входной линии также удаляются все входные линии, которые были клонированы из того же объекта dom. Можно ли повторно привязать объект "this" к соответствующему тегу привязки после использования cloneNode (true) на указанном выше элементе DOM?

javascript   events   dom   prototypejs   clonenode    

384   6   02:04, 9th August, 2020