c#控件样式详解(一)button控件

本文介绍如何使用C#在Windows窗体中自定义按钮的绘制过程,包括设置字体颜色及绘制按钮边框,通过调整坐标值优化显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

c#Windows窗体中,每个控件都有自己的属性,可以在属性中修改简单的样式,如前景色、背景图片等,但是如果想要窗体更美观,就需要通过控件的paint函数进行绘制。

每个按钮都在一个矩形内部,矩形内部左上角坐标为(0,0),以最常见的按钮为例,绘制按钮所在矩形:

        public static void button1_Paint(object sender, PaintEventArgs e)
        {
            simplebutton.ForeColor = Color.DodgerBlue;//按钮字体颜色

            e.Graphics.DrawLine(Pens.Red, 0, 0, 0, button1.Height);//左边线
            e.Graphics.DrawLine(Pens.Red, 0, 0, button1.Width, 0);//上边线
            e.Graphics.DrawLine(Pens.Red, button1.Width, 0, button1.Width, button1.Height);//右边线
            e.Graphics.DrawLine(Pens.Red, 0, button1.Height, button1.Width, button1.Height);//下边线
        }

效果如图所示:

          

由于矩形下边线和右边线超出了控件显示范围,可以通过修改坐标值来改变显示效果,修改代码:

        public static void button1_Paint(object sender, PaintEventArgs e)
        {
            simplebutton.ForeColor = Color.DodgerBlue;//按钮字体颜色

            e.Graphics.DrawLine(Pens.Red, 0, 0, 0, button1.Height);//左边线
            e.Graphics.DrawLine(Pens.Red, 0, 0, button1.Width, 0);//上边线
            e.Graphics.DrawLine(Pens.Red, button1.Width - 1, 0, button1.Width - 1, button1.Height - 1);//右边线
            e.Graphics.DrawLine(Pens.Red, 0, button1.Height - 1, button1.Width - 1, button1.Height - 1);//下边线
        }

修改后的效果:

          

 

 

 

### Visual Studio 2022 常用控件及其使用方法 在 Visual Studio 2022 中,开发者可以利用多种控件来构建用户界面。以下是些常用的控件及其基本用法: #### 1. TextBox 控件 `TextBox` 是个用于输入或显示单行或多行文本的控件。它支持多种属性和方法,如设置只读模式、隐藏密码等。此外,`RichTextBox` 控件扩展了 `TextBox` 的功能[^1]。 ```csharp // 设置 TextBox 属性示例 textBox1.Text = "Hello World"; // 设置初始文本 textBox1.ReadOnly = true; // 设置为只读 textBox1.PasswordChar = '*'; // 隐藏输入内容 ``` #### 2. ListBox 控件 `ListBox` 控件用于显示项目列表,并允许用户从中选择项或多项。其常用事件包括 `SelectedIndexChanged` 和 `DoubleClick`。 ```csharp // 添加项到 ListBox listBox1.Items.Add("Item 1"); listBox1.Items.Add("Item 2"); // 获取选中的项 if (listBox1.SelectedIndex != -1) { string selectedItem = listBox1.SelectedItem.ToString(); } ``` #### 3. CheckBox 控件 `CheckBox` 用于提供个可选的布尔值选项。当状态改变时,可以触发 `CheckedChanged` 事件。 ```csharp private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { MessageBox.Show("CheckBox is checked."); } else { MessageBox.Show("CheckBox is unchecked."); } } ``` #### 4. RadioButton 控件 `RadioButton` 通常成组使用,以确保用户只能选择其中的个选项。 ```csharp private void radioButton1_CheckedChanged(object sender, EventArgs e) { if (radioButton1.Checked) { MessageBox.Show("Option 1 is selected."); } } ``` #### 5. Button 控件 `Button` 控件用于触发特定的操作。点击按钮时会触发 `Click` 事件。 ```csharp private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Button clicked!"); } ``` #### 6. ComboBox 控件 `ComboBox` 是种组合控件,结合了下拉列表和文本框的功能。用户可以选择预定义的选项或手动输入。 ```csharp comboBox1.Items.Add("Option 1"); comboBox1.Items.Add("Option 2"); private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { string selectedValue = comboBox1.SelectedItem.ToString(); } ``` #### 7. Label 控件 `Label` 控件用于显示静态文本信息,通常与其他控件配合使用。 ```csharp label1.Text = "This is a label."; ``` #### 8. PictureBox 控件 `PictureBox` 用于显示图像,支持多种格式(如 PNG、JPEG 等)。 ```csharp pictureBox1.Image = Image.FromFile("image.png"); pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage; ``` #### 9. RichTextBox 控件 `RichTextBox` 是 `TextBox` 的增强版,支持富文本格式(如字体颜色、大小等)。除了基本的文本操作外,还提供了 `Redo` 方法。 ```csharp richTextBox1.Text = "Rich Text Example"; richTextBox1.SelectionFont = new Font("Arial", 14); richTextBox1.Redo(); // 恢复撤销的操作 ``` #### 10. DataGridView 控件 `DataGridView` 用于显示表格数据,支持绑定到数据库或其他数据源。 ```csharp dataGridView1.DataSource = dataTable; // 绑定数据源 dataGridView1.Columns["ColumnName"].HeaderText = "Header Text"; ``` --- ### 注意事项 上述控件的使用方法可以根据具体需求进行调整。例如,可以通过设置属性或处理事件来实现更复杂的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值