是否可以在另一个按钮的顶部绘制按钮(除了只有第二个按钮并将其相对于第一个按钮的左侧和顶部位置移动)?我试图让一个小的可选问号(按钮)出现在主按钮的角落,如果点击它将采取各种行动。VB.NET通过另一个按钮绘制按钮
否则,我只是在按钮顶部绘制问号并获得鼠标OnClick的相对位置,然后在HasLink属性为true并且鼠标位于特定区域时执行操作。
这些也将被动态创建。
Public Class clsButton
Inherits Button
Private Property HasLink As Boolean = False
Public Sub New(ByVal Image As Image, ByVal ShowLink As Boolean)
Me.BackgroundImage = Image
Me.BackgroundImageLayout = ImageLayout.Center
Me.Height = 100
Me.Width = 200
If ShowLink Then DrawLink()
End Sub
Public Sub DrawLink()
Dim bmpBitmap As New Bitmap(Me.Width, Me.Height)
Dim graGraphic As Graphics = Graphics.FromImage(bmpBitmap)
Dim i As New Bitmap("c:\temp\question_mark.png")
graGraphic.DrawImage(i, (Me.Width - i.Width) - 5, 5)
Me.Image = bmpBitmap
End Sub
Protected Overrides Sub OnClick(e As EventArgs)
MyBase.OnClick(e)
Debug.WriteLine("X: " & MousePosition.X & " Y: " & MousePosition.Y)
Debug.WriteLine(Me.PointToClient(MousePosition))
End Sub
End Class
是的,种的; SplitButton包含一个侧面部分,包含一个下拉菜单(不是另一个控件)的箭头。你可以做类似的事情,但**这很奇怪;按钮旁边的链接标签或类似标签稍微传统一点,也许不那么令人困惑 – Plutonix
是的,SplitButton并不是我正在寻找的东西。我将继续使用鼠标定位并将图像绘制到按钮上来处理我最初的想法。谢谢(你的)信息。 – Capellan
这是一个空间中2个功能性事物的例子*有相当数量的代码,因此代码知道用户点击了哪部分,像VisualStyles这样的东西按预期工作。 – Plutonix