private void navBarControl1_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e) { SizeF textSize = e.Cache.CalcTextSize(e.Caption, e.Appearance.Font, StringFormat.GenericDefault, e.RealBounds.Width); NavLinkInfoArgs args = (NavLinkInfoArgs)e.ObjectInfo; Rectangle newCaptionRectangle = args.RealCaptionRectangle; newCaptionRectangle.Width = Convert.ToInt32(textSize.Width); args.CaptionRectangle = newCaptionRectangle; }
private void navBarControl1_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e) { DevExpress.XtraNavBar.NavBarItemLink link = ((NavLinkInfoArgs)e.ObjectInfo).Link; if (link.State == DevExpress.Utils.Drawing.ObjectState.Selected || link.State == DevExpress.Utils.Drawing.ObjectState.Hot || link.State == DevExpress.Utils.Drawing.ObjectState.Pressed ) { e.Graphics.FillRectangle(Brushes.DodgerBlue, e.RealBounds); } }
/// <summary> /// 显示选中背景色 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChatNav_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e) { NavBarItemLink link = ((NavLinkInfoArgs)e.ObjectInfo).Link; if (link.State == DevExpress.Utils.Drawing.ObjectState.Selected || link.State == DevExpress.Utils.Drawing.ObjectState.Hot ) { link.Item.AppearancePressed.ForeColor = Color.White; // link.Item.Appearance.Options.UseFont = true; e.Graphics.FillRectangle(Brushes.DodgerBlue, e.RealBounds); } }
private void NavBarSyntax_CustomDrawLink(object sender, CustomDrawNavBarElementEventArgs e) { if (e.ObjectInfo.State == ObjectState.Hot || e.ObjectInfo.State == ObjectState.Pressed) { LinearGradientBrush brush; var textFormat = new StringFormat(); textFormat.LineAlignment = StringAlignment.Center; var linkInfo = e.ObjectInfo as NavLinkInfoArgs; if (linkInfo.Link.Group.GroupCaptionUseImage == NavBarImage.Large) { textFormat.Alignment = StringAlignment.Center; } else { textFormat.Alignment = StringAlignment.Near; } if (e.ObjectInfo.State == ObjectState.Hot) { brush = new LinearGradientBrush(e.RealBounds, Color.Orange, Color.PeachPuff, LinearGradientMode.Horizontal); } else { brush = new LinearGradientBrush(e.RealBounds, Color.PeachPuff, Color.Orange, LinearGradientMode.Horizontal); } e.Graphics.FillRectangle(new SolidBrush(Color.OrangeRed), e.RealBounds); e.Graphics.FillRectangle(brush, e.RealBounds); if (e.Image != null) { var imageRect = linkInfo.ImageRectangle; imageRect.X += (imageRect.Width - e.Image.Width) / 2; imageRect.Y += (imageRect.Height - e.Image.Height) / 2; imageRect.Size = e.Image.Size; e.Graphics.DrawImageUnscaled(e.Image, imageRect); } var rect = e.RealBounds; rect.Inflate(-1, -1); e.Appearance.DrawString(e.Cache, e.Caption, linkInfo.RealCaptionRectangle, Brushes.White); e.Graphics.DrawRectangle(Pens.Indigo, rect); e.Handled = true; } }