using System; |
using System.Collections.Generic; |
using System.ComponentModel; |
using System.Data; |
using System.Drawing; |
using System.Text; |
using System.Windows.Forms; |
using System.Drawing.Drawing2D; |
namespace RibbonDemo |
{ |
public partial class MainForm : RibbonForm |
{ |
public MainForm() |
{ |
InitializeComponent(); |
InitLists(); |
StartPosition = FormStartPosition.WindowsDefaultBounds; |
} |
private Color GetRandomColor(Random r) |
{ |
if (r == null ) |
{ |
r = new Random(DateTime.Now.Millisecond); |
} |
return Color.FromKnownColor((KnownColor)r.Next(1, 150)); |
} |
private void InitLists() |
{ |
Image[] images = new Image[255]; |
RibbonProfessionalRenderer rend = new RibbonProfessionalRenderer(); |
BackColor = rend.ColorTable.RibbonBackground; |
Random r = new Random(); |
#region Color Squares |
using (GraphicsPath path = RibbonProfessionalRenderer.RoundRectangle( new Rectangle(3, 3, 26, 26), 4)) |
{ |
using (GraphicsPath outer = RibbonProfessionalRenderer.RoundRectangle( new Rectangle(0, 0, 32, 32), 4)) |
{ |
for ( int i = 0; i < images.Length; i++) |
{ |
Bitmap b = new Bitmap(32, 32); |
using (Graphics g = Graphics.FromImage(b)) |
{ |
g.SmoothingMode = SmoothingMode.AntiAlias; |
using (SolidBrush br = new SolidBrush(Color.FromArgb(255, i * (255 / images.Length), 0))) |
{ |
g.FillPath(br, path); |
} |
using (Pen p = new Pen(Color.White, 3)) |
{ |
g.DrawPath(p, path); |
} |
g.DrawPath(Pens.Wheat, path); |
g.DrawString(Convert.ToString(i + 1), Font, Brushes.White, new Point(10, 10)); |
} |
images[i] = b; |
RibbonButton btn = new RibbonButton(); |
btn.Image = b; |
lst.Buttons.Add(btn); |
} |
} |
} |
//lst.DropDownItems.Add(new RibbonSeparator("Available styles")); |
RibbonButtonList lst2 = new RibbonButtonList(); |
for ( int i = 0; i < images.Length; i++) |
{ |
RibbonButton btn = new RibbonButton(); |
btn.Image = images[i]; |
lst2.Buttons.Add(btn); |
} |
lst.DropDownItems.Add(lst2); |
lst.DropDownItems.Add( new RibbonButton( "Save selection as a new quick style..." )); |
lst.DropDownItems.Add( new RibbonButton( "Erase Format" )); |
lst.DropDownItems.Add( new RibbonButton( "Apply style..." )); |
#endregion |
#region Theme Colors |
RibbonButton[] buttons = new RibbonButton[30]; |
int square = 16; |
int squares = 4; |
int sqspace = 2; |
for ( int i = 0; i < buttons.Length; i++) |
{ |
#region Create color squares |
Bitmap colors = new Bitmap((square + sqspace) * squares, square + 1); |
string [] colorss = new string [squares]; |
using (Graphics g = Graphics.FromImage(colors)) |
{ |
for ( int j = 0; j < 4; j++) |
{ |
Color sqcolor = GetRandomColor(r); |
colorss[j] = sqcolor.Name; |
using (SolidBrush b = new SolidBrush(sqcolor)) |
{ |
g.FillRectangle(b, new Rectangle(j * (square + sqspace), 0, square, square)); |
} |
g.DrawRectangle(Pens.Gray, new Rectangle(j * (square + sqspace), 0, square, square)); |
} |
} |
#endregion |
buttons[i] = new RibbonButton(colors); |
buttons[i].Text = string .Join( ", " , colorss); ; |
buttons[i].MaxSizeMode = RibbonElementSizeMode.Medium; |
buttons[i].MinSizeMode = RibbonElementSizeMode.Medium; |
} |
RibbonButtonList blst = new RibbonButtonList(buttons); |
blst.FlowToBottom = false ; |
blst.ItemsSizeInDropwDownMode = new Size(1, 10); |
itemColors.DropDownItems.Insert(0, blst); |
itemColors.DropDownResizable = true ; |
#endregion |
} |
private void MainForm_Load( object sender, EventArgs e) |
{ |
} |
private void ribbonOrbOptionButton1_Click( object sender, EventArgs e) |
{ |
Close(); |
} |
} |
} |
by: 发表于:2017-12-08 09:42:34 顶(0) | 踩(0) 回复
??
回复评论