大家好!
请看下图:如何才能实现一个在textbox里输入时,自动在此输入框内带一个单位符号出来?

解决方案 »

  1.   

    在lostfocus事件里加上这个后缀,在gotfocus事件里使用replace取消这个后缀。
      

  2.   

    根据你的图,应该是自定义控件,这个控件应该是textbox+label。很简单的
      

  3.   

    那个符号不是textbox上的吧,用个别的什么控件配合显示一下就可以了
      

  4.   

    看lz的图示,前面是一个textbox,在这里输入数值,后面是一个label,将他的caption属性设为你要的单位
      

  5.   

    窗体添加一个mhflexgrid1和两个textbox(text1、text2),复制以下代码去测试(运行后,双击单元格)Private Sub MSHFlexGrid1_DblClick()
     
      Dim c As Integer, r As Integer
      With MSHFlexGrid1
        c = .Col: r = .Row
        Text1.Left = .Left + .ColPos(c) + 10
        Text1.Top = .Top + .RowPos(r) + 10
        Text1.Width = .ColWidth(c) - 15 - 250
        Text1.Height = .RowHeight(r) - 15
        Text2.Width = 250 + 15
        Text2.Height = Text1.Height
        Text2.Move Text1.Left + Text1.Width, Text1.Top
        Text1.Visible = True
        Text2.Visible = True
        Text1.SetFocus
       End WithEnd SubPrivate Sub MSHFlexGrid1_LeaveCell()
        If Text1 <> "" Then
           MSHFlexGrid1.text = Text1 & Text2
           MSHFlexGrid1.CellAlignment = 1
           Text1 = ""
        End If
    End SubPrivate Sub Text1_LostFocus()
       Text1.Visible = False
       Text2.Visible = False
       MSHFlexGrid1.SetFocus
    End SubPrivate Sub Form_Load()
       With MSHFlexGrid1
           .FixedRows = 0
           .FixedCols = 1
           .Rows = 3
           .Cols = 5
           .ColWidth(-1) = 1000
           .ColWidth(0) = 200
           
           .Width = 4350
           .Height = 850
           .BackColor = vbMagenta
           .GridColor = vbBlue
       End With
       Text1.Visible = False: Text1 = ""
       Text2.Font.Size = 8
       Text2.Visible = False: Text2 = "μm": Text2.Locked = False
       Text2.BorderStyle = 0: Text2.BackColor = vbButtonFaceEnd Sub