1.按钮事件

事件:触发函数的行为,例如在点击的时候调用一个函数 ,需要给按钮绑定一个点击事件,
事件也有很多种类:鼠标的点击事件、输入框textbox的TextChanged文本输入事件。键盘事件等

Button 常用属性
1 UseWaitCursor:是否使用等待鼠标类型
2 backgroundImage : 背景图
3 backgroundImagelayout: 背景图分布方式,tile:如果图片过小生成多张图片 ;stretch拉伸图片以适应控件大小 ;zoom按照图像原比例进行缩放图片
4 TextAlign:对齐方式
5 Dock 控件的停靠方式 设置处于父控件的哪个方向 top:处于父控件上面

按钮的点击事件:1直接点击窗体上按钮 2按钮界面闪电标识符号找到对应事件名 点击生成一个事件

  private void button1_Click(object sender, EventArgs e)
  {
      //textBox1.Text; 输入框文本内容
      // label2.Text label2的文本
      label2.Text = textBox1.Text; 
  }
 private void textBox1_TextChanged(object sender, EventArgs e)
 {
     // 输入文本的时候触发
     label2.Text = textBox1.Text;
 }

2.事件多播

事件多播:可以对一个控件通过使用+= 或者-=进行添加事件或者删除事件

绑定事件也可以代码进行事件绑定
button1 绑定button3_Click方法 ,button3也是绑定button3_Click方法  事件函数sender就是可变的
click -----点击事件

 this.button1.Click += button3_Click;
 this.button2.Click += new System.EventHandler(button3_Click); -----button2绑定了button3_Click方法

 private void button3_Click(object sender, EventArgs e)
 {
     //参数1 object sender;代表当前点击的对象 例如目前sender就是button3,一般使用sender必须强制转换指定控件类型
     //参数2  EventArgs e ;事件对象包含当前事件的一些信息,
     Button b1 = (Button)sender;
     //第二种方法获取标题
    MessageBox.Show(b1.Text + e.ToString());

     //第一种: 获取当前点击按钮的标题
     //MessageBox.Show(button3.Text);
  
 }
//添加事件
private void button4_Click(object sender, EventArgs e)
{
    this.button1.Click += button6_Click; // 给按钮1绑定一个 button6_Click的方法
}

//移除事件
private void button5_Click(object sender, EventArgs e)
{
    this.button1.Click -= button6_Click; // 给按钮1移除一个 button6_Click的方法
}
//点击弹窗的功能
private void button6_Click(object sender, EventArgs e)
{
    MessageBox.Show("弹窗效果");
}

2.pictureBox控件

pictureBox的image中可以通过导入本地图片来实现展示图片的功能

int count = 1;
//切换图片的按钮方法
private void button1_Click(object sender, EventArgs e)
{
    count++;
    //Image.FromFile 加载图片

    this.pictureBox1.Image = Image.FromFile($"C:\\Users\\Administrator\\Desktop\\pic\\{count}.png");
    if (count==5)
    {
        count = 0;
    }
}

上面代码中的路径即为本地图片的路径,将该路径中的图片的名字进行有序化,在此处就可以通过代码实现轮播。

4.panel控件

Panel控件是WinForms中的一个容器控件,用于承载其他控件,并可以将它们作为一组进行管理。

例如上图有两个panel控件(一个在前一个在后),每一个panel控件中分别承载了一个label一个pictureBox一个按钮。

 //切换到panel2
 private void button2_Click(object sender, EventArgs e)
 {
     //让panel1隐藏  panel2显示
     //this.panel1.Visible = false; //Visible 控制控件是否可见 fasle不可见, true可见
     //this.panel2.Visible = true;

       this.panel2.BringToFront(); //把panel2带到前面
       this.panel1.SendToBack();// 把panel放到最后面
 }

 //切换到panel1
 private void button1_Click(object sender, EventArgs e)
 {
     //this.panel1.Visible = true; //Visible 控制控件是否可见 fasle不可见, true可见
     //this.panel2.Visible = false;

     this.panel1.BringToFront(); //
     this.panel2.SendToBack();// 
 }

可以通过代码来实现两个panel之间的切换。

5.通过代码创建控件

1 创建1个button对象
Button btn1 = new Button(); 

2设置按钮的属性和样式
btn1.BackColor = Color.Red;----- 背景颜色
btn1.Text = "登录"; -----按钮标题
btn1.ForeColor = Color.Green;-----字体颜色

FontFamily f1 = new FontFamily("黑体"); -----创建一个楷体字体
btn1.Font = new Font(f1, 20, FontStyle.Bold); -----设置字体楷体、字号20 加粗字体
btn1.Size = new Size(200, 100); -----设置大小
btn1.Location = new Point(0, 0);-----修改位置
this.DoubleClick += Btn1_DoubleClick;-----给this窗体添加双击事件
btn1.Image = Image.FromFile("1.png"); -----添加图标
btn1.ImageAlign = ContentAlignment.MiddleLeft;-----设置图标对齐方式

3 添加到指定控件
this当前窗体对象 包含了窗体的图标属性 窗体的标题属性 ,Controls窗体所有控件对象
this.Controls.Add(btn1);

eg:

//创建10个Panel 每个panel显示图片和label
for (int i = 0; i < 10; i++)
{
    Panel p1 = new Panel();
   // p1.BackColor = Color.Red;
    p1.Size = new Size(100, 200);//设置panel的大下 宽100 高200;
    p1.Location = new Point(110*i+20, 0);
    p1.BorderStyle = BorderStyle.FixedSingle;//设置边框

    //添加图片到Panel上
    PictureBox pb = new PictureBox();
    pb.Image = Image.FromFile("12.png");
    pb.Size = new Size(80,80);
    pb.SizeMode = PictureBoxSizeMode.StretchImage;//拉伸图片
    pb.Left = 8; //设置子控件左边的距离 ,距离父控件的左边距离
    p1.Controls.Add(pb);// 添加控件到panel

    Label l1 = new Label();
    l1.Text = "万马踏花";
   // l1.Left = 8; //设置子控件左边的距离 ,距离父控件的左边距离
    l1.Location = new Point(20, 120);
    p1.Controls.Add(l1);

    this.Controls.Add(p1);//窗体上添加panel
}

6.单选和多选控件

checkBox-----多选控件

这个为第三个选项,勾上后会有第三个选项。如:

radioButton-----单选控件

要想实现多个单选控件同时勾选上需要用panel控件对其进行分组

TabPage控件-----用于在Windows窗体中创建具有选项卡的界面,允许用户通过点击标签页标题切换不同的内容区域。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐