TA的每日心情 | 开心 2022-1-29 15:04 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
如题,对EditField控件,改变控件的Value值(通过编程改变),一直没搞明白。我做了测试,单独搞了一个EditField控件,操作发现结果如下:1、首先,我用的是ValueChanging回调,因为项目中,我想在回调中,控制控件内值的值域,测试代码如下. B& J* O: w/ S
- % Value changing function: EditField
- function EditFieldValueChanging(app, event)
- changingValue = event.Value;
- fprintf('VlaueChanging-Working!\n');
- app.EditField.Value = '10';
- end
* C+ ]6 u% _, }* H+ o
' W. S, M! G" a2 F复制代码
7 k# r4 Y* U0 a6 l2 H如上代码,也就是说,每次我在EditField控件内通过键盘输入字符时,无论输入的是什么,应该都会变成字符‘10’1 E7 l+ o7 i$ b4 C" @. n8 a# A3 L
但是实测的时候发现
, z) x# \/ e* c) @3 G第一次通过键盘输入字符,确实会变成字符'10',但是如果继续输入,比如我继续输入‘1’,那么久变成‘10111...’。难道不应该每次输入都变成'10'吗,回调通过打印内容,确认进去回掉了,也就是说app.EditField.Value = '10';这个赋值没有成功。% D+ L( x% Z. {; Q$ j6 m. e& z" O
$ g# D% z* f: a
1 t4 U# A6 }6 `8 X
. J/ g8 ]! l- H8 p! o* n5 B& c另外,如果我的鼠标从EditField框释放出来,然后再点击进去,这时候,如果输入字符,第一次也可以变成'10',也就是赋值成功。为什么赋值会不成功呢?
4 i& s1 ~9 @+ n! k" p+ a* h: h* Y* b- R% J
我又做了测试,建了两个EditField控件,比如A和B,我再A的ValueChanging回调中,去给B的Value赋值,每次都是可以赋值成功的。大佬们指点一下吧。help里面说的也不清楚...
% W, a( W' ]% b9 X0 ~ |
|