Example Application: The HTML Body Tag Formatter |
|
Description
A scroll bar is used to navigate a bar using a thumb. While navigating, you can get the current value of the control. This application explores the properties of scroll bars.
Practical Learning: Creating the Application
Control | Name | Text | Other Properties | |
GroupBox | Body Attributes | |||
RadioButton | rdoBackground | Background | Checked: True | |
TextBox | txtBackground | #000000 | ||
RadioButton | rdoText | Text | ||
TextBox | txtText | #0000FF | ||
RadioButton | rdoLink | Link | ||
TextBox | txtLink | #FF0000 | ||
RadioButton | rdoActiveLink | Active Link | ||
TextBox | txtActiveLink | #008000 | ||
RadioButton | rdoVisitedLink | Visited Link | ||
TextBox | txtVisitedLink | #800000 | ||
Panel | pnlPreview | BackColor: White BorderStyle: Fixed3D |
||
VScrollBar | scrRed | |||
VScrollBar | scrGreen | |||
VScrollBar | scrBlue | |||
Label | R | |||
Label | G | |||
Label | B | |||
Panel | pnlBody | BackColor: White BorderStyle: Fixed3D |
||
TextBox | txtTextPreview | Body tag formatter and colorizer | BorderStyle: None ForeColor: Blue TextAlign: Center |
|
TextBox | txtLinkPreview | Sample text as link | BorderStyle: None ForeColor: Red TextAlign: Center |
|
TextBox | txtALinkPreview | Current active link | BorderStyle: None ForeColor: Green TextAlign: Center |
|
TextBox | txtVLinkPreview | This link has been visited | BorderStyle: None ForeColor: Maroon TextAlign: Center |
|
GroupBox | Color's Values | |||
Label | Red: | |||
TextBox | txtRed | 0 | ||
Label | Green: | |||
TextBox | txtGreen | 0 | ||
Label | Blue: | |||
TextBox | txtBlue | 0 | ||
Button | btnCopy | Copy | ||
Button | btnClose | Close | ||
TextBox | txtResult | <body bgcolor="#FFFFFF" text="#0000FF" link="#FF0000" alink="#008000" vlink="#800000"> |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace HTMLBodyTag1 { public partial class Form1 : Form { private string HexBG, HexText, HexLink, HexALink, HexVLink; public Form1() { InitializeComponent(); } internal void ApplyColor() { // Retrieve the current hexadecimal colors from their Edit controls HexBG = txtBackground.Text; HexText = txtText.Text; HexLink = txtLink.Text; HexALink = txtActiveLink.Text; HexVLink = txtVisitedLink.Text; // Get the integral position of each ScrollBar control string strRed = Convert.ToString(255 - scrRed.Value); string strGreen = Convert.ToString(255 - scrGreen.Value); string strBlue = Convert.ToString(255 - scrBlue.Value); // Display the position of each ScrollBar // in its corresponding Edit control txtRed.Text = strRed; txtGreen.Text = strGreen; txtBlue.Text = strBlue; // Change the color of the Preview panel // according to the values of the ScrollBar positions pnlPreview.BackColor = Color.FromArgb(255 - scrRed.Value, 255 - scrGreen.Value, 255 - scrBlue.Value); string FmtRed = (255 - scrRed.Value).ToString("X"); if (FmtRed.Length == 1) FmtRed = String.Concat("0", FmtRed); string FmtGreen = (255 - scrGreen.Value).ToString("X"); if (FmtGreen.Length == 1) FmtGreen = String.Concat("0", FmtGreen); string FmtBlue = (255 - scrBlue.Value).ToString("X"); if (FmtBlue.Length == 1) FmtBlue = String.Concat("0", FmtBlue); // Get the position of each ScrollBar control // Create a hexadecimal color starting with # // And display the color in the appropriate Edit control if (rdoBackground.Checked == true) { string BG = "#"; BG = String.Concat(BG, FmtRed); BG = String.Concat(BG, FmtGreen); BG = String.Concat(BG, FmtBlue); txtBackground.Text = BG; pnlBody.BackColor = pnlPreview.BackColor; txtTextPreview.BackColor = pnlPreview.BackColor; txtLinkPreview.BackColor = pnlPreview.BackColor; txtALinkPreview.BackColor = pnlPreview.BackColor; txtVLinkPreview.BackColor = pnlPreview.BackColor; HexBG = txtBackground.Text; } else if (rdoText.Checked == true) { string Txt = "#"; Txt = String.Concat(Txt, FmtRed); Txt = String.Concat(Txt, FmtGreen); Txt = String.Concat(Txt, FmtBlue); txtText.Text = Txt; txtTextPreview.ForeColor = Color.FromArgb(255 - scrRed.Value, 255 - scrGreen.Value, 255 - scrBlue.Value); HexText = txtText.Text; } else if (rdoLink.Checked == true) { string TL = "#"; TL = String.Concat(TL, FmtRed); TL = String.Concat(TL, FmtGreen); TL = String.Concat(TL, FmtBlue); txtLink.Text = TL; txtLinkPreview.ForeColor = Color.FromArgb(255 - scrRed.Value, 255 - scrGreen.Value, 255 - scrBlue.Value); HexLink = txtLink.Text; } else if (rdoActiveLink.Checked == true) { string AL = "#"; AL = String.Concat(AL, FmtRed); AL = String.Concat(AL, FmtGreen); AL = String.Concat(AL, FmtBlue); txtActiveLink.Text = AL; txtALinkPreview.ForeColor = Color.FromArgb(255 - scrRed.Value, 255 - scrGreen.Value, 255 - scrBlue.Value); HexALink = txtActiveLink.Text; } else if (rdoVisitedLink.Checked == true) { string VL = "#"; VL = String.Concat(VL, FmtRed); VL = String.Concat(VL, FmtGreen); VL = String.Concat(VL, FmtBlue); txtVisitedLink.Text = VL; txtVLinkPreview.ForeColor = Color.FromArgb(255 - scrRed.Value, 255 - scrGreen.Value, 255 - scrBlue.Value); HexVLink = txtVisitedLink.Text; } // Update the contents of the bottom text box string BD = "<body bgcolor=\""; BD = String.Concat(BD, HexBG); BD = String.Concat(BD, "\" text=\""); BD = String.Concat(BD, HexText); BD = String.Concat(BD, "\" link=\""); BD = String.Concat(BD, HexLink); BD = String.Concat(BD, "\" alink=\""); BD = String.Concat(BD, HexALink); BD = String.Concat(BD, "\" vlink=\""); BD = String.Concat(BD, HexVLink); BD = String.Concat(BD, "\">"); txtResult.Text = BD; } } }
private void scrRed_Scroll(object sender, ScrollEventArgs e) { ApplyColor(); }
private void scrGreen_Scroll(object sender, ScrollEventArgs e) { ApplyColor(); }
private void scrBlue_Scroll(object sender, ScrollEventArgs e) { ApplyColor(); }
internal void ClickOption(System.Drawing.Color Clr, String Result) { // These variables will hold the red, green, and blue // values of the passed color int red, green, blue; // Colorize the Preview panel with the passed color pnlPreview.BackColor = Clr; // Get the red value of the color of the Preview panel red = 255 - pnlPreview.BackColor.R; // Get the green value of the color of the Preview panel green = 255 - pnlPreview.BackColor.G; // Get the blue value of the color of the Preview panel blue = 255 - pnlPreview.BackColor.B; // Now that we have the red, green, and blue values of the color, // Update the scroll bars with the new values scrRed.Value = red; scrGreen.Value = green; scrBlue.Value = blue; // Update the red, green, and blue values // of the Numeric Values group box txtRed.Text = red.ToString(); txtGreen.Text = green.ToString(); txtBlue.Text = blue.ToString(); // Update the string that was passed using // the retrieved red, green, and blue values Result = String.Concat(Result, "#"); Result = String.Concat(Result, red.ToString("X")); Result = String.Concat(Result, green.ToString("X")); Result = String.Concat(Result, blue.ToString("X")); }
private void rdoBackground_CheckedChanged(object sender, EventArgs e) { // If the user clicks Background radio button // set color of the panel to that of the radio button Color BGColor = pnlBody.BackColor; pnlBody.BackColor = BGColor; // Call the ClickOption() method to calculate // the hexadecimal value of the color ClickOption(pnlBody.BackColor, txtBackground.Text); HexBG = txtBackground.Text; }
private void rdoText_CheckedChanged(object sender, EventArgs e) { Color BGColor = pnlBody.BackColor; txtTextPreview.BackColor = BGColor; ClickOption(txtTextPreview.ForeColor, txtText.Text); HexText = txtText.Text; }
private void rdoLink_CheckedChanged(object sender, EventArgs e) { Color BGColor = pnlBody.BackColor; txtLinkPreview.BackColor = BGColor; ClickOption(txtLinkPreview.ForeColor, txtLink.Text); HexLink = txtLink.Text; }
private void rdoActiveLink_CheckedChanged(object sender, EventArgs e) { Color BGColor = pnlBody.BackColor; txtALinkPreview.BackColor = BGColor; ClickOption(txtALinkPreview.ForeColor, txtActiveLink.Text); HexALink = txtActiveLink.Text; }
private void rdoVisitedLink_CheckedChanged(object sender, EventArgs e) { Color BGColor = pnlBody.BackColor; txtVLinkPreview.BackColor = BGColor; ClickOption(txtVLinkPreview.ForeColor, txtVisitedLink.Text); HexVLink = txtVisitedLink.Text; }
private void btnCopy_Click(object sender, EventArgs e) { txtResult.SelectAll(); txtResult.Copy(); }
private void btnClose_Click(object sender, EventArgs e) { Close(); }
|
||
Home | Copyright © 2010-2020, FunctionX | |
|