| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:做个用文本框输入来改变颜色的小程序,哪里出错了??
只看楼主 加入收藏
zhaomg
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-1-15
结帖率:80%
收藏
已结贴  问题点数:20 回复次数:2 
做个用文本框输入来改变颜色的小程序,哪里出错了??
界面有一个picturebox用以显示颜色及改变;一个文本框显示“Color=RGB(20,0,0)”格式的各颜色值;再就是三个滚动条分别以调整三个原色的值(0~255)。运行后滚动条效果可正常实现,但另一个要求:通过在文本框里输入三个颜色各自的数值,再回车。来改变颜色的效果却失败了。
文本框的键盘事件代码如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
a = InStr(10, Text1.Text, ",") 截取文本框里Color=RGB(20,0,0)”格式中第一个","前的数字赋给a,即红色的值;下面的b、c同理分别是绿色、蓝色的值
b = InStr(a + 1, Text1.Text, ",")
c = InStr(b + 1, Text1.Text, ")")
HScroll1(0) = Val(Mid(Text1.Text, 11, a-11))使三个滚动条分别对应abc的值
HScroll1(1) = Val(Mid(Text1.Text, a+1, b-a-1))
HScroll1(2) = Val(Mid(Text1.Text, b+1, c-b-1))
End If
End Sub
运行时在文本框里把三个原色的值都编辑完再回车后,若光标不论停在哪个数值那儿,只有第一个数字对应的红色的滚动条变为设定状态,另两个颜色的数值及滚动条都恢复为0即min状态;接着若光标不论停在哪个数值那儿再按回车键,只有前两个数字对应的红色和绿色的滚动条变为设定状态,第三个颜色蓝色的数值及滚动条都恢复为0即min状态;最后光标停在任意数值处第三次按下回车,才会使蓝色滚动条变化。(当然此种过程中图片框颜色也都是相应变化)

我很困惑,为什么文本框的回车不能使三个颜色对应的滚动条改变都一下子同时生效呢?
怎么也找不出哪里有错误。还请各位帮着分析一下?

[ 本帖最后由 zhaomg 于 2012-1-16 10:52 编辑 ]
搜索更多相关主题的帖子: 键盘 文本框 
2012-01-15 20:45
w327555162
Rank: 2
等 级:论坛游民
帖 子:45
专家分:43
注 册:2011-1-4
收藏
得分:0 
沒太懂
2012-01-17 14:54
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:20 
以下是引用zhaomg在2012-1-15 20:45:48的发言:

界面有一个picturebox用以显示颜色及改变;一个文本框显示“Color=RGB(20,0,0)”格式的各颜色值;再就是三个滚动条分别以调整三个原色的值(0~255)。运行后滚动条效果可正常实现,但另一个要求:通过在文本框里输入三个颜色各自的数值,再回车。来改变颜色的效果却失败了。
文本框的键盘事件代码如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
a = InStr(10, Text1.Text, ",") 截取文本框里Color=RGB(20,0,0)”格式中第一个","前的数字赋给a,即红色的值;下面的b、c同理分别是绿色、蓝色的值
b = InStr(a + 1, Text1.Text, ",")
c = InStr(b + 1, Text1.Text, ")")
HScroll1(0) = Val(Mid(Text1.Text, 11, a-11))使三个滚动条分别对应abc的值
HScroll1(1) = Val(Mid(Text1.Text, a+1, b-a-1))
HScroll1(2) = Val(Mid(Text1.Text, b+1, c-b-1))
End If
End Sub
运行时在文本框里把三个原色的值都编辑完再回车后,若光标不论停在哪个数值那儿,只有第一个数字对应的红色的滚动条变为设定状态,另两个颜色的数值及滚动条都恢复为0即min状态;接着若光标不论停在哪个数值那儿再按回车键,只有前两个数字对应的红色和绿色的滚动条变为设定状态,第三个颜色蓝色的数值及滚动条都恢复为0即min状态;最后光标停在任意数值处第三次按下回车,才会使蓝色滚动条变化。(当然此种过程中图片框颜色也都是相应变化)

我很困惑,为什么文本框的回车不能使三个颜色对应的滚动条改变都一下子同时生效呢?
怎么也找不出哪里有错误。还请各位帮着分析一下?

测试过,一次回车三个全改变。

无知
2012-01-17 22:45
快速回复:做个用文本框输入来改变颜色的小程序,哪里出错了??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015336 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved