VB组合框

窗体上建立一个简单组合框,在组合框的文本框输入数字字符,按回车键后加入到组合框的列表框内,如图E.8所示;单击“交换”按钮,将列表框中最小值项目和第0个项目交换;最大值与... 窗体上建立一个简单组合框,在组合框的文本框输入数字字符,按回车键后加入到组合框的列表框内,如图E.8所示;单击“交换”按钮,将列表框中最小值项目和第0个项目交换;最大值与最后项目交换,如图E.9所示。

 
 

图E.8: 输入数字数据
图E.9: 交换后结果

提示:
  ① 只能输入数字,Combo1_KeyPress事件通过如下代码实现:
Select Case KeyAscii
Case 48 to 57,13 '0~9数字和回车键为合法数据
Case Else '否则为非法数据,去除非法字符
KeyAscii=0
End Select
② 求最大值和最小值必须声明4个变量:如Min、iMin、Max、iMax分别存放最小值、最小值下标、最大值和最大值下标,并将列表框中低0个项目作为上述4个变量的初值。
③ 按照求最大值和最小值的方法,在组合框中找最小值和最大值,并获得最小值和最大值下标;注意比较时要用Val函数,否则作为字符串比较。
④ 将组合框的第0项与最小值交换、最大值与最后项交换。例,最大值与最后项交换的代码如下:
t=Combo1.List(Combo1.ListCount-1)
Combo1.List(Combo1.ListCount-1)= Combo1.List(iMax)
Combo1.List(iMax)= t
展开
 我来答
pivotstar
推荐于2017-09-28 · TA获得超过471个赞
知道小有建树答主
回答量:444
采纳率:33%
帮助的人:498万
展开全部
Private Sub Combo1_KeyPress(KeyAscii As Integer)
'① 只能输入数字
Select Case KeyAscii
Case 48 To 57, 13 '0~9数字和回车键为合法数据
If KeyAscii = 13 Then '如果回车则添加一笔
Combo1.AddItem Combo1.Text
End If
Case Else '否则为非法数据,去除非法字符
KeyAscii = 0 '0值意思就是除了上一个Case里数字与回车放行,其他全部在此拦截
End Select
End Sub

Private Sub Command1_Click()
Dim Min As Integer, iMin As Integer
Dim Max As Integer, iMax As Integer
Dim t As Integer
'②为了运算能正确做比较,这里的值先设置相反。
Min = 32767 '这里写个大值,不超过Integer限定的32767
Max = 0 '这里写个小值
For t = 0 To Combo1.ListCount - 1 Step 1
'③ 开始循环取出每一个值跟 Min、Max做比较
'如果取出的值比Max大(Max就记录它)
If Max < Val(Combo1.List(t)) Then
Max = Val(Combo1.List(t))
iMax = t '与Max同步记录位置
End If
'如果取出的值比Min小(Min就记录它)
If Min > Val(Combo1.List(t)) Then
Min = Val(Combo1.List(t))
iMin = t '与Min同步记录位置
End If
Next t
' t变量刚刚是做循环用途,底下开始的运行作为交换值的用途
'循环完毕,最小值、最小值下标、最大值和最大值下标已经完成赋值

'开始依照④要求,先做组合框的第0项与最小值交换
t = Val(Combo1.List(0))
Combo1.List(0) = Val(Combo1.List(iMin))
ombo1.List(iMin) = t
'开始依照④要求,最大值与最后项交换(照抄前添加必要的Val函数)
t = Val(Combo1.List(Combo1.ListCount - 1))
Combo1.List(Combo1.ListCount - 1) = Val(Combo1.List(iMax))
Combo1.List(iMax) = t
End Sub

1.在窗体里添加一个Combo1然后到Text属性清空Combo1,属性Style设置为1 Simple Combo,然后用鼠标把控件高度拉开。继续到List属性里按照顺序填入图形内指定的值。再把控件的高度宽度调整到适合即可。
2.添加一个命令按钮Command1,到Caption属性改为【交换】文字,可以到Font里面设置文字大小。
3.把窗体的布局依照图片位置调整一下就全部OK了
'说明写的够详细了,如果是作业,就把文字说明删掉些
崔玉巧求香
2020-03-25 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:35%
帮助的人:979万
展开全部
在使用SELECT语句查数据库的时候使用distinct可以去除重复项,比如:
select
distinct(A),b,c
from
table
这样查出的结果中就不会有A字段重复的结果出现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式