| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3213 人关注过本帖, 1 人收藏
标题:vb多按钮问题!
取消只看楼主 加入收藏
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
结帖率:100%
收藏(1)
 问题点数:0 回复次数:12 
vb多按钮问题!
请问如何用代码在窗体(如form1)上建立多个按钮,并且为这些按钮写入相应的事件。例如:我要建立n个按钮bt1,bt2,...,btn.点击bt1执行事件1,点击bt2执行事件2,...点击btn执行事件n.谢谢!
搜索更多相关主题的帖子: vb按钮 
2008-11-25 12:10
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
意思是vb没这个功能吗?
添加单个按钮,并且给这个按钮添加事件都可以啊!
2008-11-25 16:30
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
就没人知道吗?帮帮忙啊!
2008-11-25 21:15
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
谢谢了
2008-12-04 14:11
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
回复 第6楼 不说也罢 的帖子
谢谢了,但是我需要的是这样的:
1.事先我并不知道要多少个按钮,按钮的数量是读取数据库的结果;
2.按钮是由程序代码添加的,不能在窗体设计时添加;
3.各个按钮都能独立的响应某个事件。
2008-12-04 14:19
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
回复 第10楼 Joforn 的帖子
是这样的:"例如某酒店有20间房间,有10间已经有人入住,还剩下10间。我需要添加10个按钮来表示还有10间可以入住,并且按钮的caption是从数据库里面读取的房间号,如果点击某个按钮,则表示该按钮caption所示房间号的房间有人预定或入住,然后隐藏或清除该按钮。"  这样能实现吗? 也不知道我说没说清楚。
2008-12-04 19:01
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
回复 第12楼 Joforn 的帖子
恩,好像这样是可以的。只是还有两点:
1.按钮的caption如何从数据库中读取并显示?
2.如何给这些按钮编写相应的事件?(如:caption为103的按钮表示103房间现在空闲,点击后该按钮消失,103房间变成使用中,并且把103房间由空闲变成使用中的信息写入数据库。)   PS:现在又不能上传附件,如果能的话我把具体情况传给你就清楚多了!真心的谢谢你了!
2008-12-05 19:27
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
回复 第13楼 不说也罢 的帖子

呵呵,我先试试。有哪里不行我再来@
2008-12-05 19:48
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
回复 第13楼 不说也罢 的帖子
出错了。我按照你说的那样子读取数据库,结果提示“对象已经加载”。
这是程序,麻烦你看一下:
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
  MsgBox "你按下了你在窗体设计时画的按钮"
Case Else
  MsgBox "你按下了程序添加的按钮" & Index
End Select
End Sub

Private Sub Form_Load()
Dim i As Integer
Dim t As Integer
Dim n As Integer          '''''n是数据库中空闲的房间数

i = 5 '意思是再创建5个按钮,你从数据库里读吧
  For t = 1 To i
    sql = "select 房间号 from 房间信息 where 能否入住='是'"           '''''读取数据库中空闲的房间号
    Set rst = getRS(sql)
    rst.MoveFirst
    For n = 1 To rst.RecordCount
    Load Command1(t) '加载t个按钮,实际上窗体上是t+1个按钮了,你画窗体时画了一个
      Command1(t).Visible = True '没有这一句,加载的按钮在窗体上看不见
       Command1(t).Caption = rst.Fields(0)          ''''''把房间号赋值给按钮名
     '下面一句是调整加载后各个按钮的位置,Joforn回答过了,我不啰嗦了
     Command1(t).Move Command1(t - 1).Left, Command1(t - 1).Top + Command1(t - 1).Height
     rst.MoveNext
     Next n
  Next t
End Sub




'附:getrs是我创建的过程
'''''''Public Function getRS(ByVal sql As String) As ADODB.Recordset       '创建名为getRS的过程
'''''''Dim con As ADODB.Connection
'''''''Dim rs As ADODB.Recordset
'''''''Dim strConnection As String
'''''''Dim strArray() As String              '创建数组
'''''''Set con = New ADODB.Connection
'''''''Set rs = New ADODB.Recordset
'''''''On Error GoTo getRS_Error
'''''''strConnection = "Provider=Microsoft.jet.oledb.4.0;Data Source=" & App.Path & "\database.mdb"
'''''''    strArray = Split(sql)
'''''''    con.Open strConnection
'''''''    If InStr(UCase$(strArray(0)), "select") = 0 Then
'''''''    rs.Open Trim$(sql), con, adOpenStatic, adLockOptimistic
'''''''    Set getRS = rs
'''''''    Else
'''''''    con.Execute sql
'''''''    End If

[[it] 本帖最后由 xiaomengyzy 于 2008-12-5 20:05 编辑 [/it]]
2008-12-05 20:04
xiaomengyzy
Rank: 1
等 级:新手上路
帖 子:174
专家分:5
注 册:2008-4-27
收藏
得分:0 
回复 第17楼 不说也罢 的帖子
358115593   我下午6点以后一般都会在。
2008-12-06 16:25
快速回复:vb多按钮问题!
数据加载中...
 
   



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

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