TA的每日心情 | 开心 2022-1-29 15:04 |
|---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
如题,对EditField控件,改变控件的Value值(通过编程改变),一直没搞明白。我做了测试,单独搞了一个EditField控件,操作发现结果如下:1、首先,我用的是ValueChanging回调,因为项目中,我想在回调中,控制控件内值的值域,测试代码如下
; @( z: L6 b4 K' _. c4 n- % Value changing function: EditField
- function EditFieldValueChanging(app, event)
- changingValue = event.Value;
- fprintf('VlaueChanging-Working!\n');
- app.EditField.Value = '10';
- end
# [# e9 T0 P! q e5 E
8 t/ k. x3 c8 c( d6 D复制代码2 u1 T4 b% ^0 j9 x% T- b3 n u! b$ f$ W
如上代码,也就是说,每次我在EditField控件内通过键盘输入字符时,无论输入的是什么,应该都会变成字符‘10’, e( D6 A, Y* P G4 C( ~
但是实测的时候发现
$ W% u+ s3 S& }- q* G2 Y$ }/ J第一次通过键盘输入字符,确实会变成字符'10',但是如果继续输入,比如我继续输入‘1’,那么久变成‘10111...’。难道不应该每次输入都变成'10'吗,回调通过打印内容,确认进去回掉了,也就是说app.EditField.Value = '10';这个赋值没有成功。8 ^" ^: H) Z5 m# n7 ?+ K9 M/ M
2 K* B1 `7 i( @
e2 o% ?6 _7 x& P- q2 O
3 U# ?1 r/ p# D& m另外,如果我的鼠标从EditField框释放出来,然后再点击进去,这时候,如果输入字符,第一次也可以变成'10',也就是赋值成功。为什么赋值会不成功呢?
4 c3 g) J0 w8 D& x0 k: x5 @6 e/ ]
我又做了测试,建了两个EditField控件,比如A和B,我再A的ValueChanging回调中,去给B的Value赋值,每次都是可以赋值成功的。大佬们指点一下吧。help里面说的也不清楚...; b7 I, h$ z5 b" \9 F) V& g
|
|