Hello, Mehdi,
Thank you for writing back.
You can customize the way a tool tip is rendered by handling its
Draw method. Note that the standard MS tool tips are used so you can follow the demonstrated approach in this thread:
https://msdn.microsoft.com/en-us/library/system.windows.forms.tooltip.draw(v=vs.110).aspx
I have prepared a sample code snippet as well which result is illustrate din the below screenshot:
public
RadForm1()
{
InitializeComponent();
this
.radDropDownList1.DropDownListElement.Popup.ToolTipTextNeeded += Popup_ToolTipTextNeeded;
}
private
void
Popup_ToolTipTextNeeded(
object
sender, Telerik.WinControls.ToolTipTextNeededEventArgs e)
{
RadListVisualItem visualItem = sender
as
RadListVisualItem;
if
(visualItem !=
null
)
{
DataRowView rowView = visualItem.Data.DataBoundItem
as
DataRowView;
if
(rowView !=
null
)
{
e.ToolTipText = rowView.Row[
"ProductName"
]+
""
;
toolTipText = e.ToolTipText;
}
e.ToolTip.BackColor = Color.Yellow;
e.ToolTip.OwnerDraw =
true
;
e.ToolTip.Draw += ToolTip_Draw;
e.ToolTip.Popup += ToolTip_Popup;
}
}
string
toolTipText =
string
.Empty ;
private
void
ToolTip_Popup(
object
sender, PopupEventArgs e)
{
RadToolTip tooltip = sender
as
RadToolTip;
using
(Font f =
new
Font(
"Calibri"
, 10))
{
e.ToolTipSize = TextRenderer.MeasureText(
toolTipText, f);
}
}
private
void
ToolTip_Draw(
object
sender, DrawToolTipEventArgs e)
{
e.DrawBackground();
e.DrawBorder();
using
(StringFormat sf =
new
StringFormat())
{
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None;
sf.FormatFlags = StringFormatFlags.NoClip;
using
(Font f =
new
Font(
"Calibri"
, 10))
{
e.Graphics.DrawString(e.ToolTipText, f,
SystemBrushes.ActiveCaptionText, e.Bounds, sf);
}
}
}
I hope this information helps. If you have any additional questions, please let me know.
Regards,
Dess
Progress Telerik