vb高手进来,高分悬赏

简单说,我想设计一个报告系统,包括一个combo的母目录,一个list的子目录,一个子目录对应的文本内容。比如说:母目录:肝脏、胆囊、胰腺……“肝脏”下的子目录:肝癌、肝... 简单说,我想设计一个报告系统,包括一个combo的母目录,一个list的子目录,一个子目录对应的文本内容。比如说:母目录:肝脏、胆囊、胰腺……“肝脏”下的子目录:肝癌、肝硬化、肝破裂……,“胆囊”子目录:胆囊结石、胆囊癌、胆囊炎……文本框内则是对子目录的描述,如当我点击“肝癌”就在文本框中显示“肝脏增大失常态……”
把编程的语句写给我就行了,里面的内容我自己添加!
十万火急!!!谢谢大家,回答满意的再加100分!!
展开
 我来答
swx1995
2009-08-06 · TA获得超过2696个赞
知道大有可为答主
回答量:1477
采纳率:0%
帮助的人:2345万
展开全部
我的用起来比楼上的方便 楼主可以少输入很多代码并且很容易维护
可以采用文件读写方式,文件读写和内置2选1
Dim GroupItems() As String
Dim SubItems() As String 'SubItems(X)中第X个母目录
Dim p() As String

Private Sub Combo1_Click()
Dim k() As String, i As Integer
p = Split(SubItems(Combo1.ListIndex), "|")

List1.Clear
For i = 0 To UBound(p)
k = Split(p(i), ",")
List1.AddItem k(0)
Next
End Sub

Private Sub Form_Load()
'-----------------------------------------------------
'以下是非文件版本 你可以和下下面的文件版本二选一
GroupItems = Split("肝脏|胆囊|胰腺", "|") '母目录,注意顺序
ReDim SubItems(UBound(GroupItems))

SubItems(0) = "肝癌,肝癌描述,这是描述中的逗号(全角)\n现在换行了,现在是\\n符号|肝硬化,肝硬化描述|肝破裂,肝破裂描述" '第一个母目录的子目录
SubItems(1) = "胆囊结石,胆囊结石描述|胆囊癌,胆囊癌描述|胆囊炎,胆囊炎描述" '对应第二个母目录
SubItems(2) = "胰腺1,胰腺1描述|胰腺2,胰腺2描述"
'SubItems(X)="XXX|XXX|XXX|XXX|XXX....."用|分割每一个子项目,其中用","隔开名称和描述(半角逗号),数量不限,换行为\n符号,如果要显示\n则输入\\n。

'结束
'-----------------------------------------------------

'-----------------------------------------------------
'以下是文件版本 你可以和上面版本二选一
'Dim lf As String, i As Integer
'Open App.Path & "\list.dat" For Input As #1 '文件是程序目录下的list.dat
' Line Input #1, lf
' GroupItems = Split(lf, "|")
' ReDim SubItems(UBound(GroupItems))
'
' For i = 0 To UBound(GroupItems)
' Line Input #1, SubItems(i)
' Next
'Close #1

'结束
'-----------------------------------------------------
Dim i As Integer
For i = 0 To UBound(GroupItems)
Combo1.AddItem GroupItems(i)
Next
Combo1.ListIndex = 0
End Sub

Private Sub List1_Click()
Dim k() As String, i As Integer
k = Split(p(List1.ListIndex), ",")
Debug.Print k(1)
k(1) = Replace(k(1), "\\", "$$$$$$$$$$$$$$$$")
k(1) = Replace(k(1), "\n", vbCrLf)
Text1.Text = Replace(k(1), "$$$$$$$$$$$$$$$$", "\")
End Sub

如果使用文件,文件保存在程序目录下的list.dat内(记事本编写即可)
内容是类似下面的:
肝脏|胆囊|胰腺
肝癌,肝癌描述,这是描述中的逗号(全角)\n现在换行了,现在是\\n符号|肝硬化,肝硬化描述|肝破裂,肝破裂描述
胆囊结石,胆囊结石描述|胆囊癌,胆囊癌描述|胆囊炎,胆囊炎描述
胰腺1,胰腺1描述|胰腺2,胰腺2描述
悠悠周郎
2009-08-06 · TA获得超过2572个赞
知道大有可为答主
回答量:3298
采纳率:96%
帮助的人:508万
展开全部
sub combobox1.textchanged
if combobox1.text=“肝脏”
list1.item.clear
list1.item.add("肝癌")
....................
end sub
sub list1.selecteditemchanged
select case list1.selecteditem
case "肝癌"
textbox1.text="肝癌有关……"
case "肝硬化"
textbox1.text="肝硬化有关……"
…………………………………………
end select
end sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龙志健
2009-08-06 · TA获得超过952个赞
知道小有建树答主
回答量:702
采纳率:0%
帮助的人:741万
展开全部
在窗体添加combo1、list1和text1三个控件后将下面的代码加入就可以了,其它数据自己添加,有问题消息留言。

Private Sub Combo1_Click()
List1.Clear
With List1
Select Case Combo1.Text
Case "肝脏"
.AddItem "肝癌"
.AddItem "肝硬化"
.AddItem "肝破裂"
Case "胆囊"
.AddItem "胆囊结石"
.AddItem "胆囊癌"
.AddItem "胆囊炎"
Case "胰腺"
.AddItem "胰腺1"
.AddItem "胰腺2"
.AddItem "胰腺3"
End Select
End With
End Sub

Private Sub Form_Load()
Text1.Text = ""
With Combo1
.AddItem "肝脏"
.AddItem "胆囊"
.AddItem "胰腺"
.Text = ""
End With
End Sub

Private Sub List1_Click()
With List1
Select Case List1.Text
Case "肝癌"
Text1.Text = "肝脏增大失常态……11111"
Case "肝硬化"
Text1.Text = "肝脏增大失常态……22222"
Case "肝破裂"
Text1.Text = "肝脏增大失常态……33333"
End Select
End With
End Sub

============================

回答满意的再加100分!!

======================
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mmx1122
2009-08-06 · TA获得超过2597个赞
知道小有建树答主
回答量:3142
采纳率:0%
帮助的人:1039万
展开全部
楼上几位老兄写的很好,但是不好维护,如果你想添加新的项目,那你就要该代码,最好还是把这些项目都写进 数据库。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guanguanwky
2009-08-06 · TA获得超过237个赞
知道小有建树答主
回答量:379
采纳率:0%
帮助的人:311万
展开全部
你这样把所有信息都写进代码,代码多不说,还不方便维护。
不如做个数据库了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式