【第21天】21c#今日小结
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窗体中创建具有选项卡的界面,允许用户通过点击标签页标题切换不同的内容区域。

更多推荐
所有评论(0)