如何在运行时向用户窗体添加无边框文本框

How to add a borderless textbox to a UserForm at runtime

请问为什么在运行时添加新的文本框时.BorderStyle设置为fmBorderStyleNone不起作用?我想要一个没有轮廓的文本框,但是代码运行后仍然有轮廓。

 Dim txtB1 As TextBox
 Dim i

 For i = 0 To 5
     Set txtB1 = Frame12.Controls.Add("Forms.TextBox.1")
     With txtB1
         .Name = "chkDemo" & i
         .TextAlign = fmTextAlignCenter
         .Height = 20
         .Width = 36
         .Left = 444
         .Top = 10 * i * 2
         .BackStyle = fmBackStyleTransparent
         .BorderStyle = fmBorderStyleNone '---> this isn't working.
         .Font.Name = "Calibre"
         .Font.Size = 11
     End With
 Next i

您仍然看到轮廓的原因是,默认情况下插入的文本框具有特殊效果 "sunken"。您还需要更改 属性:

   .SpecialEffect = fmSpecialEffectFlat