Эти примеры используют функцию 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
В документации FileSystemWatcher
говорится, что простая операция файла может сгенерировать несколько событий.
Чтобы выключить обработчик событий, введите:
file.EnableRaisingEvents = false;
Этот пример показывает, как прислушаться к изменениям в значениях в ComboBox на Windows® Form. Этот пример использует событие SelectedValueChanged
, заданное классом System.Windows.Forms.ComboBox
.
Чтобы создать этот пример, необходимо создать Приложение Windows Forms с помощью поддерживаемой версии Microsoft® Visual Studio®.
Ищите веб-сайт Microsoft MSDN® информацию о Приложениях Windows Forms.
Для актуального списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы.
Создайте 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