如何设置带有标题的图片框(控件)?我已经可以在这个图片框上添加文字,但我想在图片框下面。但是,如果文本的位置超出了Picturebox的大小,则它将不可见。如果文本有一个边界和&背景颜色。
请帮忙。
以下是代码:
Public Class neoPic
Inherits PictureBox
Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
MyBase.OnPaint(e)
e.Graphics.DrawString("Caption ", New Font("Cambria", 10), Brushes.Black, New PointF(0, 60))
End Sub
End Class
答案 0 :(得分:0)
我最终创建了一个UserControl。我把工作代码放在这里,以防它节省了另一个开发人员的时间。我在我的项目中添加了一个UserControl(名为PicTitled),并添加了一个Picturebox(名为PTPicturebox)和一个Label(名为PTLabel)相互堆叠。 然后我添加了Text& PicTitled的图像属性和鼠标单击的事件处理程序。
Public Class PicTitled
Public Shadows Event MouseClick As MouseEventHandler
Overrides Property Text As String
Get
Return PTLabel.Text
End Get
Set(ByVal Value As String)
PTLabel.Text = Value
End Set
End Property
Property Image As Image
Get
Return PTPicturebox.Image
End Get
Set(ByVal Value As Image)
PTPicturebox.Image = Value
End Set
End Property
Private Sub PicTitled_MouseClick(sender As Object, e As MouseEventArgs) Handles MyBase.MouseClick, PTPicturebox.MouseClick, PTLabel.MouseClick
RaiseEvent MouseClick(Me, e)
End Sub
End Class
在主要表单中,我添加了一个代码:
Private Sub CreateObj()
Dim pbPicture As New PicTitled
pbPicture.Name = "Object"
pbPicture.Location = New System.Drawing.Point(40, 40)
pbPicture.Text = "Object"
pbPicture.Image = My.Resources.IMG
pbPicture.Size = New System.Drawing.Size(50, 50)
AddHandler pbPicture.MouseClick, AddressOf PictureBox_MouseClick
Panel1.Controls.Add(pbPicture)
End Sub
Private Sub PictureBox_MouseClick(sender As Object, e As MouseEventArgs)
'Do stuff when mouse click happens...
End Sub