Эти примеры используют addlistener
функция для обработки событий .NET с MATLAB® коллбэки.
Этот пример использует System.IO.FileSystemWatcher
класс в System
сборка для мониторинга изменений в .TXT
файл в C:\work\temp
папка. Создайте следующий обработчик событий, eventhandlerChanged.m
:
function eventhandlerChanged(source,arg) disp('TXT file changed') end
Создайте FileSystemWatcher
fileObj объекта
и наблюдайте за Changed
событие для файлов с .txt
расширение в папке C:\work\temp
.
file = System.IO.FileSystemWatcher('c:\work\temp'); file.Filter = '*.txt'; file.EnableRaisingEvents = true; addlistener(file,'Changed',@eventhandlerChanged);
Если вы изменяете и сохраняете .txt
файл в C:\work\temp
папка, MATLAB отображает:
TXT file changed
The FileSystemWatcher
документация говорит, что простая операция файла может вызвать несколько событий.
Чтобы выключить обработчик событий, введите:
file.EnableRaisingEvents = false;
В этом примере показано, как прослушать изменения значений в ComboBox в Windows® Форма. Этот пример использует SelectedValueChanged
событие, определяемое System.Windows.Forms.ComboBox
класс.
Чтобы создать этот пример, необходимо создать приложение Windows Forms с помощью поддерживаемой версии Microsoft® Визуальная студия®.
Поиск по MSDN Microsoft® веб-сайт для получения информации о Windows Forms Applications.
Обновленный список поддерживаемых компиляторов см. в Поддерживаемые и совместимые компиляторы.
Создайте 64-разрядное приложение Windows Forms, myForm
, в вашем C:\work
папка. Добавление ComboBox
управление в Form1
, а затем добавить один или несколько элементов к ComboBox1
. Создайте приложение.
Как добавить прослушивателя в form
создайте следующий класс MATLAB, EnterComboData
, который использует attachListener
способ.
classdef EnterComboData < handle properties form end methods function x = EnterComboData NET.addAssembly('C:\work\myForm\myForm\bin\x64\Debug\myForm.exe'); x.form = myForm.Form1; Show(x.form) Activate(x.form) end function r = attachListener(x) % create listener r = addlistener( x.form.Controls.Item(0), 'SelectedValueChanged', @x.anyChange); end function anyChange(~,~,~) % listener action if comboBox changes disp('Field updated') end end end
Чтобы выполнить следующие команды MATLAB, вы должны создать и загрузить приложение с именем myForm.exe
. Чтобы создать форму и вызвать ее attachListener
метод, используйте EnterComboData
класс.
form = EnterComboData; form.attachListener;
Чтобы вызвать событие, выберите элемент из раскрывающегося меню на ComboBox. MATLAB отображает:
Field updated