TA的每日心情 | 开心 2022-1-29 15:04 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
如题,对EditField控件,改变控件的Value值(通过编程改变),一直没搞明白。我做了测试,单独搞了一个EditField控件,操作发现结果如下:1、首先,我用的是ValueChanging回调,因为项目中,我想在回调中,控制控件内值的值域,测试代码如下
5 V% O5 \ V' Y; f, A; t$ ^- % Value changing function: EditField
- function EditFieldValueChanging(app, event)
- changingValue = event.Value;
- fprintf('VlaueChanging-Working!\n');
- app.EditField.Value = '10';
- end
( E$ {9 A: w+ `$ G( m0 e 1 J' `; ^! [8 Q, y$ h
复制代码4 [6 A. Q! z( ]" Q. K5 Y
如上代码,也就是说,每次我在EditField控件内通过键盘输入字符时,无论输入的是什么,应该都会变成字符‘10’
/ E5 N2 [# ^, c& X但是实测的时候发现
# k y E& J3 r Z/ K第一次通过键盘输入字符,确实会变成字符'10',但是如果继续输入,比如我继续输入‘1’,那么久变成‘10111...’。难道不应该每次输入都变成'10'吗,回调通过打印内容,确认进去回掉了,也就是说app.EditField.Value = '10';这个赋值没有成功。
& {% p A# e% G7 P# n0 E+ ?* H$ s# n+ p6 \3 h, m3 N _! \8 O$ b5 F
( q- `8 x/ I D' l! w1 Q7 ^5 Y+ p" Y/ Y7 _
另外,如果我的鼠标从EditField框释放出来,然后再点击进去,这时候,如果输入字符,第一次也可以变成'10',也就是赋值成功。为什么赋值会不成功呢?
F7 `4 V' e6 E+ t; g2 ?# [- C+ ^! }# A8 \) |! k G
我又做了测试,建了两个EditField控件,比如A和B,我再A的ValueChanging回调中,去给B的Value赋值,每次都是可以赋值成功的。大佬们指点一下吧。help里面说的也不清楚...0 v7 t4 c8 G" e, h, x2 x
|
|