C#-从入门到精通-第10章 Windows窗体

【Form窗体】
设置启动窗体

Application.Run(new Form1());

更换窗体图标:Icon属性;
隐藏窗体标题栏:FormBorderStyle属性;
控制窗体显示位置:StartPosition属性;
修改窗体大小:Size属性;
设置窗体的背景图像:BackgroundImage属性;
窗体的显示与隐藏:Show(),Hide()方法

private void button1_Click(object sender, EventArgs e)//单机button按钮
{
      this.Hide();//隐藏当前窗口
      Form2 fo2 = new Form2();//实例化Form2的对象
      fo2.Show();//显示Form窗口
}

窗体的事件
1.Click(单击)事件

private void Form1_Click(object sender, EventArgs e)
{
     MessageBox.Show("不要摸我呀!");//单击窗体触发该事件
}

2.Load(加载)事件

 private void Form1_Load(object sender, EventArgs e)
{
       DialogResult dr = MessageBox.Show("是否查看窗体!", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
       if (dr==DialogResult.Yes)
       {
       }
}

在加载窗体前会优先调用加载事件。
3.FormClosing(关闭)事件

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
      DialogResult dr = MessageBox.Show("是否关闭窗口?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
      if(dr==DialogResult.Yes)
      {
           e.Cancel = false;
      }
      else
      {
           e.Cancel = true;
      }
}

点击窗体右上角X按钮时触发该事件。
【MDI窗体】
一个窗体中显示多个窗口。
1.设置父窗体
将窗体IsMdiContainer属性设置为ture。
在这里插入图片描述
2.设置子窗体
在Load事件中设置

Form2 frm2 = new Form2();//实例化Form2
frm2.MdiParent = this;//将当前窗体作为父窗体
frm2.Show();

3.排列子窗体

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);
}

【继承窗体】
1.以编程方式创建继承窗体
通常新建一个窗体应用程序,会默认继承自Form类这个基类。

namespace  Test1
{
        public partical class Form2:Form
        {
        }
}       

现在在另一个程序中继承Form2这个窗体程序

namespace  Test2
{
        public partical class Form3:Test1.Form2 //Form3继承自Form2
        {
        }
}

2.使用继承选择器创建继承窗体
在“解决方案资源管理器”中,右键项目名称-添加-新建项,打开“添加新项”对话框。
在这里插入图片描述
点击添加,打开继承选择器
在这里插入图片描述
选择要继承的窗体,点击确定。
3.在继承窗体中修改继承的控件属性
如果窗体中控件的Modifiers属性为Private,那么继承这样的窗体,控件的属性全部为不可编辑状态。
如果子窗体想要修改继承后的空间属性,那么父窗体中控件的Modifilers属性必须设置为Public。

猜你喜欢

转载自blog.csdn.net/qq_43482627/article/details/91328967