End SubPrivate Sub Label1_Click() MsgBox "lable1 click"
End SubPrivate Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Line1.BorderColor = vbBlack Line1.X1 = Label1.Left Line1.Y1 = Label1.Top Line1.X2 = Label1.Left Line1.Y2 = Label1.Height + Label1.Top
MsgBox "lable1 click"
End Sub
这么简单的问题没想到。
此帖的问题提出:
原来想用Button方法,但是加多行后,文字全部居中,不能左对齐排版,效果不好。
用Label,文字排版可以左对齐,但没有按钮效果,别人看不出来是按钮。
再相办法:
目标需求,即能当按钮,又能体现多行文字左对齐(用vbcr换行的多行文字)。
在窗体上放入四个line控件,一个label1控件,复制以下程序运行后去测试。
Private Sub Form_Load()
Line1.BorderColor = vbWhite
Line1.X1 = Label1.Left
Line1.Y1 = Label1.Top
Line1.X2 = Label1.Left
Line1.Y2 = Label1.Height + Label1.Top
Line2.BorderColor = vbWhite
Line2.X1 = Label1.Left
Line2.Y1 = Label1.Top
Line2.X2 = Label1.Left + Label1.Width
Line2.Y2 = Label1.Top
Line3.X1 = Label1.Left
Line3.Y1 = Label1.Top + Label1.Height
Line3.X2 = Label1.Left + Label1.Width
Line3.Y2 = Label1.Height + Label1.Top
Line4.X1 = Label1.Left + Label1.Width
Line4.Y1 = Label1.Top
Line4.X2 = Label1.Left + Label1.Width
Line4.Y2 = Label1.Height + Label1.Top
End SubPrivate Sub Label1_Click()
MsgBox "lable1 click"
End SubPrivate Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Line1.BorderColor = vbBlack
Line1.X1 = Label1.Left
Line1.Y1 = Label1.Top
Line1.X2 = Label1.Left
Line1.Y2 = Label1.Height + Label1.Top
Line2.BorderColor = vbBlack
Line2.X1 = Label1.Left
Line2.Y1 = Label1.Top
Line2.X2 = Label1.Left + Label1.Width
Line2.Y2 = Label1.Top
Line3.BorderColor = vbWhite
Line3.X1 = Label1.Left
Line3.Y1 = Label1.Top + Label1.Height
Line3.X2 = Label1.Left + Label1.Width
Line3.Y2 = Label1.Height + Label1.Top
Line4.BorderColor = vbWhite
Line4.X1 = Label1.Left + Label1.Width
Line4.Y1 = Label1.Top
Line4.X2 = Label1.Left + Label1.Width
Line4.Y2 = Label1.Height + Label1.TopEnd SubPrivate Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Line1.BorderColor = vbWhite
Line1.X1 = Label1.Left
Line1.Y1 = Label1.Top
Line1.X2 = Label1.Left
Line1.Y2 = Label1.Height + Label1.Top
Line2.BorderColor = vbWhite
Line2.X1 = Label1.Left
Line2.Y1 = Label1.Top
Line2.X2 = Label1.Left + Label1.Width
Line2.Y2 = Label1.Top
Line3.BorderColor = vbBlack
Line3.X1 = Label1.Left
Line3.Y1 = Label1.Top + Label1.Height
Line3.X2 = Label1.Left + Label1.Width
Line3.Y2 = Label1.Height + Label1.Top
Line4.BorderColor = vbBlack
Line4.X1 = Label1.Left + Label1.Width
Line4.Y1 = Label1.Top
Line4.X2 = Label1.Left + Label1.Width
Line4.Y2 = Label1.Height + Label1.TopEnd Sub