windows Form的使用
Form常用属性:
BackgroundImage:设置背景图片
BackgroundImageLayout:用于组件背景图像布局
BackColor:获取或设置控件的背景色
Form常用事件的使用:
private void Form1_Load(object sender, EventArgs e)//Form加载事件 { //result获得对话框的返回值 DialogResult result = MessageBox.Show("是否打开窗体", "提示", MessageBoxButtons.OK, MessageBoxIcon.Question);//显示具有文本,标题,按钮,图标(从左到右排列)的消息框 if (result == DialogResult.OK) this.Show(); } //Form激活事件 private void Form1_Activated(object sender, EventArgs e) { //MessageBox.Show("窗体激活!"); //窗体激活时触发这个事件,因为窗体一直处于激活状态,可以用于数据库中控件的重新绑定数据 } //关闭Form事件 private void Form1_FormClosing(object sender, FormClosingEventArgs e) { DialogResult result = MessageBox.Show("是否关闭窗体", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (result == DialogResult.OK) { e.Cancel = false;//指示不应该取消事件,继续关闭 } else if (result == DialogResult.Cancel) { e.Cancel = true;//指示取消事件,停止关闭 } } //Form窗体间的调用 private void button1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.ShowDialog();//以对话框的方式显示窗体,它为模式窗体,此时form1(其他窗体)看不到,如果是show方法,两个窗体都可以看到 //f2.Hide();//隐藏窗体,它所占用的资源并没有释放掉 }
MDI多文档界面:
1.将父窗体的IsMdiContainer设置为true
2.添加MenuScrip菜单组件
3.添加事件显示子窗体,可以显示多个子窗体,通过LayoutMdi(MdiLayout x)方法对子窗体进行布局,MdiLayout为枚举类型
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 WindowsFormsApplication6 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //将子窗体都显示出来 private void 显示ToolStripMenuItem_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.MdiParent = this; f2.Show(); Form3 f3 = new Form3(); f3.MdiParent = this; f3.Show(); Form4 f4 = new Form4(); f4.MdiParent = this; f4.Show(); } private void 水平排列ToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileHorizontal);//水平排列子窗体 } private void 垂直排列ToolStripMenuItem_Click(object sender, EventArgs e) { LayoutMdi(MdiLayout.TileVertical);//垂直排列子窗体
} private void 层叠排列ToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.Cascade);// 层叠排列子窗体
}
}
}