窗体也属于控件
添加窗体:
主窗体:在main函数当中创建的窗体对象,我们称只为你这个窗体应用程序的主窗体。也就一位这,当将主窗体关闭后,整个应用程序都关闭了
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _2_窗体的添加与删除
{
static class Program
{
///
/// 应用程序的主入口点。
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1()); //此处的窗体通常称为主窗体
}
}
}
设置窗体属性有两种方法:
一种是通过属性面板(三种方法):右键,视图 ,F4
一整是通过代码:窗体唯一标识.属性名=属性值
BackColor:设置窗体背景颜色
BackgroundImage:设置窗体背景图片(自动拉伸)
Cursor:鼠标光标形状
HelpButton:是否显示帮助按钮,不能与最大化最小化同时显示
MaxiMizeBox:最小化按键显示
MinimizeBox:最小化按键显示
Icon:图标
MainMenuStrip:为本窗体指定主要MenuStrip
MaximumSize:最大化尺寸(水平方向0,垂直方向0代表适屏全屏)
MinimumSize:最小化尺寸(当MaximumSize与MinimumSize相同的值时,最小化后将无法拖动改变大小)
Name:窗体的唯一标识名(在后台要获得前台的控件对象,需要使用Name属性)
Text:窗体标题(显示在窗体上方的名称)
showIcon:确定窗体是否显示图标
showInTaskbas:确定窗体是否在windows任务栏中显示
Size:设置窗体大小
statPosition:确定窗体第一次出现的位置
topMost:是否居顶
clientSize:工作区的宽度和高度(size是整个window的宽度和高度。clientsize是工作区的宽度和高度,去掉border和标题栏的宽度)
双击窗体切换到代码页面
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _3_窗体属性
{
public partial class mainForm : Form
{
public mainForm()
{
InitializeComponent();
}
private void mainForm_Load(object sender, EventArgs e)
{
this.Text = "第一个窗体";
}
}
}
事件:即发生的事。简单理解为用户的操作,它有对象引发。
应用程序需要在事件发生时进行响应,因此事件分为
添加事件:如果为窗体添加一事件,只要在事件面板里选择添加事件,在其后面的空格里双击,响应的事件将自动生成。默认诶选中的是最常用的事件
事件的本质就是方法,常用事件有:
Load:窗体运行完成即为加载,窗体加载完成触发事件
click: 单击事件,不仅包含鼠标的点击,还包含键盘的响应
DoubleClick:双击事件
FormClosed:窗体关闭事件(窗体已经被关闭)
KeyDown:键被按下时触发(保持被按下的状态)
KeyPress:用户按下并释放某个按键被触发
KeyUp:键被释放后触发
mouseClick:鼠标点击
MouseDoubleClick:鼠标双击
MouseDown::鼠标按键按下
MouseHover:鼠标光标悬停
MouseMove:鼠标移动
MouseUp:鼠标释放
MouseEnter:当用户将鼠标指针移动到对象内时触发(mouseenter mousemove区别)
添加控件的方法:拖、拉、拽
添加控件的另一个方法:即通过窗体的controls类的ADD方法格式如下:
窗体的标识.Controls.Add(控件标识符)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 窗体添加控件及窗体显示和隐藏
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Button mybutton = new Button();
mybutton.Text = "添加的新按钮";
this.Controls.Add(mybutton);
}
}
}
窗体的显示与隐藏是通过Show方法和Hide方法来实现的,格式如下:
窗体标识符.show
窗体标识符.hide
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 窗体添加控件及窗体显示和隐藏
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Button mybutton = new Button();
mybutton.Text = "添加的新按钮";
this.Controls.Add(mybutton);
}
private void Form1_Click(object sender, EventArgs e)
{
Form2 myform2 = new Form2();
myform2.Show();
Form1 myfrom1 = new Form1();
myfrom1.Hide();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _7_MDI窗体
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
childForm mychildform = new childForm();
mychildform.MdiParent = this; //this 代表所在的类,此方法属于MainForm,所以this代表MainForm,
mychildform.Show();
}
private void 层叠ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.Cascade);// LayoutMdi()在父窗体内排列多文档界面,MdiLayout在父窗体内指定多文档子窗体的布局,Cascade所有子窗体层叠在子窗体内
}
private void 垂直ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileVertical);
}
private void 水平ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileHorizontal);
}
private void 关闭ToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
}
}
using System;
using System.Drawing;
using System.Windows.Forms;
namespace 窗体控件中的基本操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button9_Click(object sender, EventArgs e)
{
button9.Size = new Size(200,200); // 此种方式是只有在响应时间触发后才改变。此处是点击事件
}
}
}
- 使用工具栏调整大小:调整一个控件(button8)与另一个控件(button8)一样大小
using System;
using System.Drawing;
using System.Windows.Forms;
namespace 窗体控件中的基本操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
button9.Size = new Size(200, 200); // 此种方式是只有在响应时间触发后才改变。此处是点击事件
button1.BringToFront(); //置于顶层
button7.SendToBack();// 置于底层
}
}
}
using System;
using System.Drawing;
using System.Windows.Forms;
namespace 窗体控件中的基本操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
button9.Size = new Size(200, 200); // 此种方式是只有在响应时间触发后才改变。此处是点击事件
button1.BringToFront(); //置于顶层
button7.SendToBack();// 置于底层
button7.Location = new System.Drawing.Point(100,50); //坐标是以窗体左上角为0,0向右和向下延伸
}
}
}