经上次发帖求助,自动创建了ComboBox控件 Set mcolCombos1 = New Collection
For i = 1 To 5
Dim ctlCombo1 As ComboBox
Set ctlCombo1 = Frame1.Controls.Add("Forms.combobox.1", "modular subbce" & i, True)
With ctlCombo1
.Left = 200
.Top = 30 + (i - 1) * 50 + 6
.Width = 120
.Height = 20
.AddItem "M 5/2 Monostable"
.AddItem "B 5/2 Bistable"
End With
Dim objMyCombo1 As MyCombo
Set objMyCombo1 = New MyCombo
Set objMyCombo1.mctlCombo = ctlCombo1
objMyCombo1.mlngIndex = i
mcolCombos1.Add objMyCombo1
Next i此外自己创建了几个TextBox控件Dim oTX As Control
Dim i As Integer
With UserForm1
For i = 1 To 5
Set oTX = Frame1.Controls.Add("Forms.textbox.1", "Txt" & i, True)
With oTX
.Left = 100
.Top = 30 + (i - 1) * 50 + 6
.Width = 80
.Height = 20
End With
Next i
End With目的是用户自行选择窗体动态生成的ComboBox中的Additem值,选择完分别将值的代码部分显示在TextBox中,将解释保留在ComboBox中。如若选择"M 5/2 Monostable"则TextBox中显示为“M”,ComboBox中显示为“5/2 Monostable”。
由于水平有限,现有以下几个问题:
1.若为窗体控件很容易将两者区分,用窗体控件的change()事件就可解决,但若为动态添加的控件无法进行操作。
2.曾尝试在类模块中加以处理,代码如下:Option Explicit
Public WithEvents mctlCombo As ComboBoxPublic mlngIndex As Long
Public mcolCombosVal1 As String
Public mcolCombosVal1x As String
Private Sub mctlCombo_Change()
MsgBox mcolCombosVal1
mcolCombosVal1x = mcolCombos(1).mctlCombo.Value
mcolCombosVal1 = Mid(mcolCombosVal1x, 1, 1)
UserForm1.Controls("Txt1").Text = mcolCombosVal1
mcolCombos(1).mctlCombo.Value = Mid(mcolCombosVal1x, 4)
End Sub运行时提示错误“对象变量或with变量块未设置”
不知是为何错误?请指导,水平有限敬请谅解,谢谢!
For i = 1 To 5
Dim ctlCombo1 As ComboBox
Set ctlCombo1 = Frame1.Controls.Add("Forms.combobox.1", "modular subbce" & i, True)
With ctlCombo1
.Left = 200
.Top = 30 + (i - 1) * 50 + 6
.Width = 120
.Height = 20
.AddItem "M 5/2 Monostable"
.AddItem "B 5/2 Bistable"
End With
Dim objMyCombo1 As MyCombo
Set objMyCombo1 = New MyCombo
Set objMyCombo1.mctlCombo = ctlCombo1
objMyCombo1.mlngIndex = i
mcolCombos1.Add objMyCombo1
Next i此外自己创建了几个TextBox控件Dim oTX As Control
Dim i As Integer
With UserForm1
For i = 1 To 5
Set oTX = Frame1.Controls.Add("Forms.textbox.1", "Txt" & i, True)
With oTX
.Left = 100
.Top = 30 + (i - 1) * 50 + 6
.Width = 80
.Height = 20
End With
Next i
End With目的是用户自行选择窗体动态生成的ComboBox中的Additem值,选择完分别将值的代码部分显示在TextBox中,将解释保留在ComboBox中。如若选择"M 5/2 Monostable"则TextBox中显示为“M”,ComboBox中显示为“5/2 Monostable”。
由于水平有限,现有以下几个问题:
1.若为窗体控件很容易将两者区分,用窗体控件的change()事件就可解决,但若为动态添加的控件无法进行操作。
2.曾尝试在类模块中加以处理,代码如下:Option Explicit
Public WithEvents mctlCombo As ComboBoxPublic mlngIndex As Long
Public mcolCombosVal1 As String
Public mcolCombosVal1x As String
Private Sub mctlCombo_Change()
MsgBox mcolCombosVal1
mcolCombosVal1x = mcolCombos(1).mctlCombo.Value
mcolCombosVal1 = Mid(mcolCombosVal1x, 1, 1)
UserForm1.Controls("Txt1").Text = mcolCombosVal1
mcolCombos(1).mctlCombo.Value = Mid(mcolCombosVal1x, 4)
End Sub运行时提示错误“对象变量或with变量块未设置”
不知是为何错误?请指导,水平有限敬请谅解,谢谢!
解决方案 »
- 如何实现WINDOWS的静音关闭和打开?(就是单击右下角小喇叭,然后画叉静音)
- 多个计时器同时运行的问题, 谢谢大家的回贴
- 菜鸟求助::利用vb6求2!+4!+6!+8!+10!+12!
- 如何用vb读取excel文件一共有多少个sheet??
- 请问如何在VB中执行可执行文件
- 如何使得控件不对齐到网格?
- ReadBook软件有没有使用过?它的自动向上滚动字幕功能是怎么做到的?还有,它的智能分段又是怎么做到的
- 大家可否介绍几个做xp风格标题栏的控件?
- MSChart~~虽然我已经没有分了。。。不过有了以后一定给大家谢谢大家了我很着急
- 谁有自己作的textbox控件的源码?我想自己作一个textbox,可以吗?怎么作?
- 跪求啊
- 问个关于数据处理的问题
Public WithEvents mctlCombo As ComboBox
Public mlngIndex As Long
Public mstrCombosVal1 As String
Public mstrCombosVal1x As String
Private Sub mctlCombo_Change()
MsgBox mstrCombosVal1
mstrCombosVal1x = mctlCombo.Text
mstrCombosVal1 = Mid(mstrCombosVal1x, 1, 1)
UserForm1.Controls("Txt1").Text = mstrCombosVal1
mctlCombo.Text = Mid(mstrCombosVal1x, 4)
End Sub
Public WithEvents mctlCombo As ComboBox
Public mlngIndex As Long
Public mstrCombosVal1 As String
Public mstrCombosVal1x As String
Private Sub mctlCombo_Change()
if mlngIndex <> 1 Then
Exit Sub
End If
MsgBox mstrCombosVal1
mstrCombosVal1x = mctlCombo.Text
mstrCombosVal1 = Mid(mstrCombosVal1x, 1, 1)
UserForm1.Controls("Txt1").Text = mstrCombosVal1
mctlCombo.Text = Mid(mstrCombosVal1x, 4)
End Sub