我正在尝试在标题栏中添加一个按钮,我想为其提供与其他按钮相同的方面,但我无法做到,请参阅:
请注意,我的新按钮比其他按钮的颜色更亮,并且尺寸也突出了泛黄的边框。
这是我正在使用的代码:
Imports Telerik.WinControls.UI
Public Class RadForm_TestForm : Inherits RadForm
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Set the RadForm design.
With Me
.ThemeName = "VisualStudio2012Dark" ' The visual theme.
.FormElement.Border.ForeColor = Color.Gold ' Set the borders color.
.FormElement.Border.Width = 1I ' Set the borders width.
.FormElement.TitleBar.BorderPrimitive.ForeColor = Color.Red
.FormElement.TitleBar.ForeColor = Color.LightGray ' Set the TitleBar text color.
.FormElement.TitleBar.MinimizeButton.Enabled = False
End With
' Create a RadButtonElement.
Dim SystrayButton As New RadButtonElement()
With SystrayButton ' Set the RadForm design.
.Text = "."
.ShowBorder = False
.AutoSize = False
.Size = Me.FormElement.TitleBar.MinimizeButton.Size
' .ButtonFillElement.BackColor = Me.FormElement.TitleBar.MinimizeButton.BackColor
End With
' Add the Button in the TitleBar.
Me.FormElement.TitleBar.Children(2).Children(0).Children.Insert(0, SystrayButton)
End Sub
End Class
请注意,在此行上面的代码中被禁用:
.ButtonFillElement.BackColor = Me.FormElement.TitleBar.MinimizeButton.BackColor
因为如果我以这种方式改变颜色,如果我把鼠标放在按钮上,它在聚焦时不会改变颜色。
也许解决方案可以在
RadForm
上应用与我的 RadButtonElement
相同的主题?我读过这个:http://www.telerik.com/forums/apply-theme-to-radbuttonelement
...但我真的不明白该怎么做,我没有任何“DefaultStyleBuilder”,而且我无法在 Telerik 中找到有关这意味着什么的信息。
最佳答案
+1 我看到了这个难题。
如果你想在标题栏中有按钮的悬停、按下和正常状态,你需要创建三个图像并将它们应用于鼠标事件,即在 MouseEnter 上应用悬停图像,在 MouseLeave 上应用普通图像,在上应用按下图像鼠标按下。
我看到按钮与黄线略微重叠,因此您可能需要使用图像解决此问题。
像您说的那样设置 RadButton BackColors 将阻止默认的悬停、按下和正常状态行为。
看起来您做得对 - 一个细微的变化是使用 TitleBar.SystemButtons
而不是遍历继承的 TitleBar.Children(2).Children(0).Children.
您可以这样做:
RadButtonElement btn = new RadButtonElement();
btn.ShowBorder = false;
btn.Image = Resources.NormalState;
this.FormElement.TitleBar.SystemButtons.Children.Insert(0,btn);
ps 我不认为与“StyleBuilders”混在一起会让你实现你想要的外观,顺便说一句,这已经向 Telerik 提出了要求:http://feedback.telerik.com/Project/154/Feedback/Details/109772-add-helpbutton-at-the-titlebar-of-radform
关于.net - Telerik,如何在 RadForm 标题栏中正确添加 RadButtonElement?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25635610/