russell84 发表于 2022-7-5 22:30:15

Vb列表和组合框

嘿伙计们
 
在vb中如何创建一个列表,比如“1、2、3、4和5”
并将其添加到组合框???
 
另外,如何在对话框中设置图像??

fixo 发表于 2022-7-5 22:38:54

使用3个组合框创建表单,名称为:
组合框1、组合框2、组合框3
以下是3种填充方框的方法
试试看
 

Private Sub UserForm_Initialize()
Dim listArr1 As Variant
ReDim listArr2(0 To 9) As Variant
Dim i
Dim util As Object
Set util = ThisDrawing.Utility
util.CreateTypedArray listArr1, vbInteger, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

' popup 1st combobox
ComboBox1.List() = listArr1
' display 1st item
ComboBox1.ListIndex = 0

For i = 0 To 9
listArr2(i) = i + 1
Next
' popup 2nd combobox
ComboBox2.List() = listArr2
' display 1st item
ComboBox2.ListIndex = 0

' popup 3rd combobox
For i = 0 To 9
ComboBox3.AddItem i + 1
Next
' display 1st item
ComboBox3.ListIndex = 0

End Sub

 
~'J'~

russell84 发表于 2022-7-5 22:46:34

谢谢fixo-施展了魅力。
 
所以,你的家伙打了VB的问题,然后哈哈。
 
干杯,伙计

rocheey 发表于 2022-7-5 22:48:27

 
如果你说的是VBA,以及一个*实*对话框(就像你看到的漂浮在周围的常见对话框“文件打开”模块代码),我看不出有什么办法可以解决这个问题,因为对话框是*模态*,这意味着你的VBA代码在对话框关闭之前基本上处于保留状态。
你将无法运行任何API调用来在其中放置图像。。。
 
(我还没有尝试过,通过将窗口的父hwnd设置为0,或桌面)
 
更容易创建自己的对话框,并将图像设置为帧控件。然后,要从代码中动态更改图像,请使用LoadPicture方法:
 
Private Sub UserForm_Click()
Frame1.Picture=LoadPicture(“c:\windows\Coffee Bean.bmp”)
末端接头

russell84 发表于 2022-7-5 22:56:17

谢谢你,伙计。
 
嘿,伙计们,还有一个-使用组合框如何确保输入仅为数字??不允许文本??
 
维卡·维拉

CmdrDuh 发表于 2022-7-5 23:00:57

像这样的
Private Sub comboBoxName_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Select Case KeyAscii
   Case Asc("0") To Asc("9")
   Case Else
         KeyAscii = 0
   End Select
End Sub

russell84 发表于 2022-7-5 23:05:56

好的,谢谢-你对文本框也这么做吗??
 
因为我已经试过了,但我不能让它工作

rocheey 发表于 2022-7-5 23:11:59

是的,它与上面发布的代码相同,但您可能还需要考虑小数点和负数,因此您可能需要采取额外的步骤,因为您无法循环通过“连续”ascii字符。
 
我构建了一串“允许的”键(“0123456789-。”)仅适用于数字文本框。这种方法可以用来过滤任何不同风格的键,顺便说一句。。。。
 

' ------------- snip -----------------------------

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   Dim AllowableChars As String, I As Integer

   AllowableChars = "0123456789+-."
   For I = 1 To Len(AllowableChars)
       If Asc(Mid$(AllowableChars, I, 1)) = KeyAscii Then Exit Sub
   Next I
   KeyAscii = 0

End Sub

' ------------- snip -----------------------------

russell84 发表于 2022-7-5 23:15:37

谢谢,伙计-效果很好。
 
为你们的代码帮助干杯。

haizang 发表于 2022-7-5 23:21:37

您好,如何再添加一个文本框(红色、白色和蓝色)?
 
谢谢
页: [1] 2
查看完整版本: Vb列表和组合框