private void SetHeaderStyle() { // Get system font Font font = SystemFonts.MenuFont; if (_headerStyle == AreaHeaderStyle.Large) { this.Font = new Font("Arial", font.SizeInPoints + 3.75F, FontStyle.Bold); this.ForeColor = System.Drawing.Color.White; } else { this.Font = font; this.ForeColor = System.Drawing.Color.Black; } // Only way to calculate size ToolStripLabel tsl = new ToolStripLabel(); tsl.Font = this.Font; tsl.Text = "I"; // Set Size this.Height = tsl.GetPreferredSize(Size.Empty).Height + 6; }
public HeaderStrip() { this.Dock = DockStyle.Top; this.GripStyle = ToolStripGripStyle.Hidden; this.AutoSize = false; // Set renderer - override background painting SetRenderer(); // Setup Headers Font font = SystemFonts.MenuFont; this.Font = new Font("Arial", font.SizeInPoints + 3.75F, FontStyle.Bold); this.ForeColor = System.Drawing.Color.Gray; ToolStripLabel tsl = new ToolStripLabel(); tsl.Font = this.Font; tsl.Text = "I"; this.Height = tsl.GetPreferredSize(Size.Empty).Height + 6; }
private void SetHeaderStyle() { // Get system font Font font = SystemFonts.MenuFont; if (_headerStyle == AreaHeaderStyle.Large) { Font = new Font(@"Arial", font.SizeInPoints + 3.75F, FontStyle.Bold); ForeColor = Color.White; } else { Font = font; ForeColor = Color.White; } // Only way to calculate size var tsl = new ToolStripLabel { Font = Font, Text = @"I" }; // Set Size Height = tsl.GetPreferredSize(Size.Empty).Height + 6; }
[NUnit.Framework.Category("NotWorking")] // Font dependent, values are for win32 public void BehaviorAutoSize() { // Lots of things depend on this, it needs to be 100% correct... ToolStripItem tsi = new ToolStripLabel(); string string1 = "ABCDEFG"; string string2 = "qwertyuiop--123456"; Font f1 = tsi.Font; Font f2 = new Font("Arial", 14); Size string1size = TextRenderer.MeasureText(string1, f1); Size string2size = TextRenderer.MeasureText(string2, f1); Size string1size2 = TextRenderer.MeasureText(string1, f2); Size string2size2 = TextRenderer.MeasureText(string2, f2); Image i = new Bitmap(16, 16); Image i2 = new Bitmap(22, 22); Assert.AreEqual(new Size(0, 0), tsi.GetPreferredSize(Size.Empty), "K1"); // Text only tsi.Text = string1; Assert.AreEqual(new Size(string1size.Width, string1size.Height), tsi.GetPreferredSize(Size.Empty), "K2"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width, string1size.Height), tsi.GetPreferredSize(Size.Empty), "K3"); tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width, string1size2.Height), tsi.GetPreferredSize(Size.Empty), "K4"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width, string1size2.Height), tsi.GetPreferredSize(Size.Empty), "K5"); // Text and image tsi.Image = i; tsi.Font = f1; tsi.Text = string1; Assert.AreEqual(new Size(string1size.Width + 16, string1size.Height + 3), tsi.GetPreferredSize(Size.Empty), "K6"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width + 16, string2size.Height + 3), tsi.GetPreferredSize(Size.Empty), "K7"); tsi.Image = i2; tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width + 22, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K8"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width + 22, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K9"); // Image only tsi.Image = i; tsi.Text = string.Empty; Assert.AreEqual(new Size(16, 16), tsi.GetPreferredSize(Size.Empty), "K10"); tsi.Image = i2; Assert.AreEqual(new Size(22, 22), tsi.GetPreferredSize(Size.Empty), "K11"); // DisplayStyle = text tsi.Image = null; tsi.Text = string1; tsi.Font = f1; tsi.DisplayStyle = ToolStripItemDisplayStyle.Text; Assert.AreEqual(new Size(string1size.Width, string1size.Height), tsi.GetPreferredSize(Size.Empty), "K12"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width, string1size.Height), tsi.GetPreferredSize(Size.Empty), "K13"); tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width, string1size2.Height), tsi.GetPreferredSize(Size.Empty), "K14"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width, string1size2.Height), tsi.GetPreferredSize(Size.Empty), "K15"); // DisplayStyle = image tsi.Image = i; tsi.Text = string.Empty; tsi.DisplayStyle = ToolStripItemDisplayStyle.Image; Assert.AreEqual(new Size(16, 16), tsi.GetPreferredSize(Size.Empty), "K16"); tsi.Image = i2; Assert.AreEqual(new Size(22, 22), tsi.GetPreferredSize(Size.Empty), "K17"); // DisplayStyle = textandimage, imagebeforetext tsi.Image = i; tsi.Font = f1; tsi.Text = string1; tsi.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText; Assert.AreEqual(new Size(string1size.Width + 16, 16), tsi.GetPreferredSize(Size.Empty), "K18"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width + 16, 16), tsi.GetPreferredSize(Size.Empty), "K19"); tsi.Image = i2; tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width + 22, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K20"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width + 22, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K21"); // DisplayStyle = textandimage, TextBeforeImage tsi.Image = i; tsi.Font = f1; tsi.Text = string1; tsi.TextImageRelation = TextImageRelation.TextBeforeImage; Assert.AreEqual(new Size(string1size.Width + 16, 16), tsi.GetPreferredSize(Size.Empty), "K22"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width + 16, 16), tsi.GetPreferredSize(Size.Empty), "K23"); tsi.Image = i2; tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width + 22, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K24"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width + 22, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K25"); // DisplayStyle = textandimage, overlay tsi.Image = i; tsi.Font = f1; tsi.Text = string1; tsi.TextImageRelation = TextImageRelation.Overlay; Assert.AreEqual(new Size(string1size.Width, 16), tsi.GetPreferredSize(Size.Empty), "K26"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width, 16), tsi.GetPreferredSize(Size.Empty), "K27"); tsi.Image = i2; tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K28"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width, Math.Max(string1size2.Height, 22)), tsi.GetPreferredSize(Size.Empty), "K29"); // DisplayStyle = textandimage, TextAboveImage tsi.Image = i; tsi.Font = f1; tsi.Text = string1; tsi.TextImageRelation = TextImageRelation.TextAboveImage; Assert.AreEqual(new Size(string1size.Width, string1size.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K30"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width, string2size.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K31"); tsi.Image = i2; tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width, string1size2.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K32"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width, string2size2.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K33"); // DisplayStyle = textandimage, ImageAboveText tsi.Image = i; tsi.Font = f1; tsi.Text = string1; tsi.TextImageRelation = TextImageRelation.ImageAboveText; Assert.AreEqual(new Size(string1size.Width, string1size.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K34"); tsi.Text = string2; Assert.AreEqual(new Size(string2size.Width, string2size.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K35"); tsi.Image = i2; tsi.Font = f2; tsi.Text = string1; Assert.AreEqual(new Size(string1size2.Width, string1size2.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K36"); tsi.Text = string2; Assert.AreEqual(new Size(string2size2.Width, string2size2.Height + tsi.Image.Height), tsi.GetPreferredSize(Size.Empty), "K37"); }