没有, TextBox只支持水平的居中 。 你要实现垂直居中 ,只能根据TextBox的大小和文字的行数,在文字前加上足够的回车,如: 
    Text1.Text = vbCrLf + vbCrLf + vbCrLf + Text1.Text 

解决方案 »

  1.   

    To:fq1() :
    你做来看看!向你学习一下!
      

  2.   

    这个问题我也遇到过,不过还没有找到答案,有了的话,告诉我一声,而且不仅要求TEXTBOX能实现,其他控件也有这方面要求
      

  3.   

    to zhiboyi(易):
    你是谁呀?我在跟你说话吗?
    我做什么给你看?!作戏吧你?
      

  4.   

    To:fq1() :你说的是水平居中。
      

  5.   

    To:fq1() 
    不好意思,你没理解我的意思,我也没有理解你的意思!
    还是: huxiangming(老虎) 高手!
    当然,我佩服:zyl910(910:分儿,我来了!) (L2002)
      

  6.   

    to zhiboyi(易):
    你佩服他是你的事,我笑他是我的事。to zyl910:
    如果你来看的话,我告诉你我为什么笑你!
    我奇怪你怎么就那么肯定?
    "自动垂直方向居中是不可能办到的"在软件的世界有什么是不可以办到的?拜托说话请过过脑子,至少说出的话也该与你那点分相称吧?
    我不希望你的分都是通过误导别人得来的!(http://www.csdn.net/expert/topic/993/993779.xml?temp=.779812)
      

  7.   

    huxiangming(老虎)的方法不错,但还不是完美。有人想我做来看看,那我就做来看看:'需两个text,text1的BorderStyle=0
    Option ExplicitPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongDim t1fh As LongPrivate Sub Form_Load()
    Dim a As Font
    Me.ScaleMode = 3
    Set a = Me.Font
    Set Me.Font = Text1.Font
    t1fh = Me.TextHeight("a")
    Set Me.Font = a
    Text2.Text = ""
    Text2.Enabled = False
    Text1.Left = Text2.Left + 2
    Text1.Width = Text2.Width - 4
    Text1_Change
    End SubPrivate Sub Text1_Change()
    Dim a As Long
    a = t1fh * SendMessage(Text1.hwnd, 186, 0, ByVal 0&)
    If a > Text2.Height Then
    Text1.Height = Text2.Height - 4
    Text1.Top = Text2.Top + 2
    Else
    Text1.Height = a
    Text1.Top = (Text2.Height - Text1.Height) / 2 + Text2.Top
    End If
    Text1.SelStart = Len(Text1.Text)
    End Sub
    以上用两个text的方法可以实现完美模拟垂直居中,多加了一个text不会占用太多内存的。
    你们只要根据自己的代码稍作调整即可!在软件世界有什么做不到的呢?
      

  8.   

    To fq1():
    我的“自动”是说系统的控件没有这样的功能
    你那种方法我很久以前就说过了
    http://www.csdn.net/expert/topic/566/566919.xml?temp=.1315119回复人: zyl910(910:分儿,我来了!) (L2002) (  ) 信誉:93  2002-3-10 21:09:42  得分:0  
     
     
      把文本框的BorderStyle设为0
    在它的后面放一个Lable(BorderStyle设为1)
    注意:TextBox的位置自己算,使其在Lable的中央