c#winform基础合集1 窗体控件 Lable控件 TextBox控件 Button控件 颜色控制
·
一、窗体控件(Form)
1. 概述
- 是 WinForm 应用程序的基础容器,构成用户界面的主要框架。每个 WinForm 应用程序至少包含一个
Form。
2. 重要属性
- Text:设置或获取窗体标题栏显示的文本。例如,
this.Text = "我的应用程序",会将窗体标题设置为 “我的应用程序”。 - Size:控制窗体的大小,通过
Width和Height属性分别指定宽度和高度。如this.Size = new Size(800, 600),创建一个宽 800 像素,高 600 像素的窗体。 - Location:确定窗体在屏幕上的位置,通过
X和Y属性指定左上角坐标。例如this.Location = new Point(100, 100),将窗体左上角置于屏幕坐标 (100, 100) 处。 - FormBorderStyle:定义窗体边框的样式,如
FixedSingle(固定单边框)、Sizable(可调整大小边框)等。this.FormBorderStyle = FormBorderStyle.FixedSingle。 - MaximizeBox 和 MinimizeBox:分别控制最大化和最小化按钮是否显示。例如,
this.MaximizeBox = false会隐藏最大化按钮。
3. 常见事件
- Load:在窗体首次加载到内存时触发,常在此事件中进行初始化操作,如初始化控件数据、绑定数据源等。
private void Form1_Load(object sender, EventArgs e)
{
// 初始化代码
}
- Click:当用户单击窗体时触发。
private void Form1_Click(object sender, EventArgs e)
{
MessageBox.Show("你点击了窗体");
}
- Closing:在窗体关闭过程中,关闭操作完成前触发。可在此事件中进行确认提示或资源清理操作。
private void Form1_Closing(object sender, CancelEventArgs e)
{
DialogResult result = MessageBox.Show("确定要关闭窗体吗?", "提示", MessageBoxButtons.YesNo);
if (result == DialogResult.No)
{
e.Cancel = true; // 取消关闭操作
}
}
二、Label 控件
1. 概述
- 主要用于在窗体上显示静态文本信息,如提示信息、标题等,用户不能直接编辑其显示的文本。
2. 重要属性
- Text:设置或获取要显示的文本内容。例如,
label1.Text = "请输入用户名:"。 - Font:控制文本的字体样式,包括字体名称、大小、加粗、倾斜等。如
label1.Font = new Font("宋体", 12, FontStyle.Bold)。 - ForeColor:设置文本的颜色。例如,
label1.ForeColor = Color.Red,将文本颜色设为红色。 - BackColor:设置标签的背景颜色。如
label1.BackColor = Color.LightGray。 - TextAlign:指定文本在标签内的对齐方式,如
MiddleCenter(居中对齐)、TopLeft(左上角对齐)等。label1.TextAlign = ContentAlignment.MiddleCenter。
3. 常见用途
- 为其他控件提供说明性文本,如在文本框旁边显示提示信息,告知用户该文本框的用途。
三、TextBox 控件
1. 概述
- 用于接收用户的文本输入,可输入单行或多行文本,也支持密码输入模式(隐藏输入内容)。
2. 重要属性
- Text:获取或设置文本框中当前显示的文本内容。例如,
string input = textBox1.Text获取用户输入的文本。 - MaxLength:限制用户可输入的最大字符数。如
textBox1.MaxLength = 50,用户最多能输入 50 个字符。 - Multiline:设置是否允许多行输入。设为
true时,文本框可显示和输入多行文本;false为单行输入(默认)。textBox1.Multiline = true。 - PasswordChar:在密码输入场景下,设置显示的替代字符。例如,
textBox1.PasswordChar = '*',输入的字符将显示为*。 - ReadOnly:设为
true时,文本框内容只能查看,不能编辑;false时可编辑(默认)。textBox1.ReadOnly = true。
3. 常见事件
- TextChanged:当文本框中的文本内容发生改变时触发。常用于实时验证输入内容,如输入邮箱格式验证。
private void textBox1_TextChanged(object sender, EventArgs e)
{
// 验证逻辑
}
- KeyPress:当用户按下并释放一个键时触发,可用于拦截特定按键,如限制只能输入数字。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar) && e.KeyChar != (char)Keys.Back)
{
e.Handled = true; // 拦截非数字和退格键
}
}
四、Button 控件
1. 概述
- 是用户触发操作的重要控件,用户点击按钮时,会执行预先定义好的事件处理代码。
2. 重要属性
- Text:设置按钮上显示的文本,如
button1.Text = "提交"。 - Enabled:控制按钮是否可用。设为
true时可用(默认),false时按钮呈灰色不可点击状态。button1.Enabled = false。 - Image:可设置按钮上显示的图像,用于增强按钮的可视化效果。需先将
ImageAlign属性设置为合适的对齐方式,如MiddleLeft(图像居左,文本居右)。
3. 常见事件
- Click:当用户点击按钮时触发,是最常用的事件,在事件处理方法中编写按钮被点击后要执行的逻辑,如提交表单、执行计算等。
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("按钮被点击了");
}
一、窗体(Form)的背景与颜色
1. 设置背景色
- 属性面板设置:选中窗体 → 找到
BackColor属性 → 选择颜色(如LightBlue)。 - 代码设置:
// 窗体加载时设置背景色 private void Form1_Load(object sender, EventArgs e) { this.BackColor = Color.LightBlue; // 浅蓝色背景 }
2. 设置标题栏样式(可选)
WinForm 窗体的标题栏颜色默认跟随系统主题,若要自定义标题栏,需通过重绘窗体实现(较复杂),通常建议保持默认。
二、Label 控件的背景与颜色
1. 前景色(字体颜色)
- 属性面板:
ForeColor→ 选择颜色(如Red)。 - 代码设置:
label1.ForeColor = Color.Red; // 字体设为红色
2. 背景色
- 属性面板:
BackColor→ 选择颜色(如LightGray)。 - 代码设置:
label1.BackColor = Color.LightGray; // 背景设为浅灰色
3. 透明背景(让 Label 背景和父容器一致)
设置 BackColor 为 Transparent:
label1.BackColor = Color.Transparent;
三、TextBox 控件的背景与颜色
1. 前景色(输入文本颜色)
- 属性面板:
ForeColor→ 选择颜色(如DarkBlue)。 - 代码设置:
textBox1.ForeColor = Color.DarkBlue; // 输入的文字为深蓝色
2. 背景色
- 属性面板:
BackColor→ 选择颜色(如LightYellow)。 - 代码设置:
textBox1.BackColor = Color.LightYellow; // 背景设为浅黄色
3. 只读状态的颜色
当 ReadOnly = true 时,默认背景为浅灰色,可通过 BackColor 自定义:
textBox1.ReadOnly = true;
textBox1.BackColor = Color.LightGreen; // 只读时背景为浅绿色
四、Button 控件的背景与颜色
1. 前景色(按钮文字颜色)
- 属性面板:
ForeColor→ 选择颜色(如White)。 - 代码设置:
button1.ForeColor = Color.White; // 按钮文字为白色
2. 背景色
- 属性面板:
BackColor→ 选择颜色(如DarkGreen)。 - 代码设置:
button1.BackColor = Color.DarkGreen; // 按钮背景为深绿色
3. 鼠标悬浮 / 点击时的颜色(高级)
通过 MouseEnter、MouseLeave、Click 事件实现动态颜色变化:
// 鼠标悬浮时变色
private void button1_MouseEnter(object sender, EventArgs e)
{
button1.BackColor = Color.Green;
}
// 鼠标离开时恢复
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.BackColor = Color.DarkGreen;
}
// 点击时临时变色
private void button1_Click(object sender, EventArgs e)
{
button1.BackColor = Color.LimeGreen;
// 执行逻辑后恢复(可加延迟)
Task.Delay(200).ContinueWith(_ =>
{
this.Invoke(new Action(() => button1.BackColor = Color.DarkGreen));
});
}
五、全局主题色(统一控件风格)
若要让所有控件使用统一的颜色风格,可在窗体加载时批量设置:
private void Form1_Load(object sender, EventArgs e)
{
// 窗体背景
this.BackColor = Color.LightCyan;
// 所有Label的样式
foreach (Label label in this.Controls.OfType<Label>())
{
label.ForeColor = Color.DarkSlateGray;
label.BackColor = Color.Transparent;
}
// 所有TextBox的样式
foreach (TextBox tb in this.Controls.OfType<TextBox>())
{
tb.ForeColor = Color.DarkBlue;
tb.BackColor = Color.LightYellow;
}
// 所有Button的样式
foreach (Button btn in this.Controls.OfType<Button>())
{
btn.ForeColor = Color.White;
btn.BackColor = Color.DarkOrange;
}
}更多推荐

所有评论(0)