Windows 窗体应用程序设计

添加一个windows窗体

  • 在c#文件下直接点击添加–> windows窗体 ,可以直接创建windows窗体
  • Application.Run(new 窗口名()); 启动窗体

窗体属性

FromBorderStyle

属性值 说明
Fixed3D 固定的三维边框
FixedDialog 固定的对话框样式的粗边框
FixedSingel 固定的单行边框
FixedToolWindow 不可调整大小的工具窗口边框
None 无边框
Sizable 可调整大小的边框
sizableToolWindow 可调整大小的工具窗口边框

StartPosition

属性值 说明
CenterParent 在其父窗体居中
CenterScreen 在当前显示窗口居中,其尺寸在窗体大小中指定
Manual 位置由Location属性确定
WindowsDefaultBounds 定位在windows默认位置,其边界由windows默认决定
WindowsDefaultLocation 定位在windows默认位置,其尺寸在窗体大小中指定

窗体的显示和隐藏

  • 窗体.show() 显示窗体
  • 窗体.Hide() 隐藏窗体

窗体的事件

其实从属性窗口双击进入直接编写就可以了,方便简单。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private void Form1_Load(object sender, EventArgs e)
{
if (MessageBox.Show("是否查看窗体!", "", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
{
MessageBox.Show("点击了窗体");
}
else
{
this.Close();
}
}
private void Form1_Click(object sender, EventArgs e)
{

MessageBox.Show("点击了窗体");
}
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;
}
}

MDI窗体

  • 多文档界面,一个界面显示多个文档。

设置MDI窗体

  1. 设置父窗体 ->在属性面板找到 IsMdiContainerfalse改为True
  2. 窗体.MdiParent = this; 将目标窗体设置为子窗体。

排列MDI子窗体

  1. 在菜单栏中选择“视图”命令 ,再选择“工具箱”命令,就会弹出工具箱。选择MenuStrip控件,此时就会在窗体中出现一排菜单栏,并依次输入“加载窗体”、“层叠排列”、“水平平铺”、“垂直平铺”、“关闭”。
  2. 双击你输入的菜单它会自动帮你生成函数。在加载窗体中你可以这样写:
1
2
3
4
5
6
private void 加载子窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.MdiParent = this;
form2.Show();
}
  1. 设置水平平铺等
1
2
3
4
5
private void 水平平铺ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileVertical);
}
其他的方法是一样的,就是改一下MdiLayout.你要设置的方法

Windows窗体应用程序常用控件

添加控件方法

  • 添加控件有2种方法:
  1. 通过工具箱双击直接添加(左上角视图里面有工具箱)
  2. 编程方式添加。 代码如下:
    void button1_Click(object sender, EventArgs e)
    1
    2
    3
    4
    5
    6
    {
    TextBox textBox = new TextBox();
    textBox.Location = new Point(25, 25);
    this.Controls.Add(textBox);
    }
    为点击按钮事件添加TextBox控件

文本类控件

Label 设置标签文本

Text属性用于设置控件上显示的文本。可以直接在属性面板(Text)去设置要展示的内容,该内容用户不能编辑。

Button 按钮控件

  • 该控件允许用户通过点击来执行相关操作。它既可以显示文本,也可以显示图像。
  • 响应按键的点击事件Click
  • Button 控件AcceptButton属性用于设置窗体的“接受”按钮,设置后用户每次按下 回车键 都相当于点击按钮。
  • Button 控件CancelButton属性用于设置窗体的“取消”按钮,设置后用户每次按下 Esc 键都相当于点击按钮。
  • 上面两个属性都在窗口属性中的杂项中(不同版本可能不一样)

TextBox 控件

  • 创建只读文本框
    1. textBox1.ReadOnly = true;
    2. 在属性栏中找到ReadOnly,将其改为true
  • 创建密码文本框
    1. PasswordChar属性可以在文本框中显示密码字符,比如将密码显示为 *,@,# % 等等。
    2. UseSystemPasswordChar属性为true时,输入密码文本框显示密码为 *
  • 创建多行文本框
    • 一般情况下TextBox只允许输入单行数据,如果想要输入多行数据要将其Multiline属性设置为true即可。
  • 突出显示文本
    • 通过SelectionStart属性和SelectionLength属性来设置要突出显示的文本。前者表示突出显示的开头位置,后者表示突出显示的长度。
  • 响应文本框内容更改事件(推荐代码设置)
    • 通过事件TextChanged来设置文本变动的响应事件。

RichTextBox 控件

用于显示、输入和操作带有格式的文本,还可以显示字体颜色和链接

  1. 显示滚动条

    • Multiline属性设置为true即可。
    • ScrollBars属性可以设置如何显示滚动条。
    属性值 说明
    Both 文本超过控件宽度或长度时,显示水平滚动条、垂直滚动条,或者两个都显示
    None 不显示任何类型的滚动条
    Horizontal 文本超过控件宽度时,显示水平滚动条(WordWrap为false有效)
    Vertical 文本超过控件高度时,显示垂直滚动条
    ForcedHorizontal WordWrap为false时,显示水平规定条。文本未超过控件宽度时,滚动条为浅灰色
    ForcedVertical 始终显示垂直滚动条。文本未超过控件长度时,滚动条为浅灰色
    ForcedBoth 始终显示垂直滚动条。WordWrap属性为false时,显示水平滚动条。文本未超过控件宽度或长度时,二者都为灰色

    WordWrap 属性用于设置多行文本框控件是否要在必要时自动换行。当为true,不论ScrollBars是什么都不会显示水平滚动条。

  2. 字体设置

  • 可以直接通过属性来调整
  • 也可以通过代码调整,如下:
1
2
richTexeBox1.SelectionFont = new Font("楷体",12,FontStyle.Bold);
richTexeBox1.SelectionColor = system.Drawing.Color.Blue;
  1. 文本含有超链接

通过LinkClicked事件编写,代码如下:

1
2
3
4
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(e.LinkText);
}
使用此方法超链接必须是http://开头
  1. 设置控件中段落格式
  • 通过SelectionBullet 属性,可将选定段落位置设置为项目符号列表格式,通过SelectionIndentSelectionHangingIndent属性,可设置左右边缘缩进。

选择类控件

选择类控件主要包含ComboBox控件(下拉组合框控件),CheckBox控件(复选框控件)、RaduoButton控件(单选按钮控件)、NumericUpDown控件(数值选择控件)和ListBox控件(列表控件)