首页 > 系统相关 >C#学习教程12——Windows窗体应用程序

C#学习教程12——Windows窗体应用程序

时间:2024-09-10 10:17:38浏览次数:9  
标签:控件 12 C# System Windows Form1 窗体 using

搬运来源: https://blog.csdn.net/weixin_46003347/article/details/123327620

文章目录
12.Windows窗体应用程序
12.1 创建Windows窗体应用程序
12.2 窗体属性
12.3 窗体事件
12.4 窗体方法
12.5 McssageBox:消息框
12.6 控件
12.7 Label和LinkLabel:标签控件
12.8 TextBox:文本框控件
12.9 Button:按钮控件
12.10 RadioButton:单选按钮控件
12.11 CheckBox:复选框控件
12.12 CheckedListBox:复选列表框控件
12.13 ListBox:列表框控件
12.Windows窗体应用程序
WinForm是Windows Form的简称,是基于.NET Framework平台的客户端(PC软件)开发技术,一般使用C#编程。Windows应用程序与Windows操作系统的界面类似,每个界面都是由窗体构成的,并且能通过鼠标单击、键盘输入等操作完成相应的功能。

12.1 创建Windows窗体应用程序

  • 在Visual Studio 2019软件中,点击创建新项目。

  • 选择Windows窗体应用,点击下一步。

  • 设置配置信息后点击下一步。

 

  • 默认选择目标框架.NET Core 3.1后可完成Windows窗体应用程序的创建。

 

在每一个Windows窗体应用程序的项目文件夹中,都会有一个默认的窗体程序Form1.cs,并且在项目的Program.cs文件中指定要运行的窗体。

Program.cs 文件的代码如下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.SetHighDpiMode(HighDpiMode.SystemAware);
            // 用于启动应用程序中可视的样式,如果控件和操作系统支持,那么 控件的绘制就能根据显不风格来实现
            Application.EnableVisualStyles();
            // 控件支持UseCompatibleTextRenderingproperty属性,该方法将此属性设置为默认值
            Application.SetCompatibleTextRenderingDefault(false);
            // 用于设置在当前项目中要启动的窗体,new Form1()即为要启动的窗体
            Application.Run(new Form1());
        }
    }
}

在Windows窗体应用程序中界面是由不同类型的控件构成的,系统中默认的控件全部存放到工具箱中,工具箱在视图选项卡下,如下图所示。

 在工具箱中将控件划分为公共控件、容器、菜单和工具栏、数据、组件、打印、对话框等。

12.2 窗体属性

每一个Windows窗体应用程序都是由若干个窗体构成的,窗体中的属性主要用于设置窗体的外观。

在Windows窗体应用程序中右击窗体,在弹出的右键菜单中选择属性,弹出如下图所示的属性面板。

 窗体的常用属性如下表所示。

属性 作用
Design:Name 用来获取或设置窗体的名称
布局:WindowState 获取或设置窗体的初始可视状态,取值有3种,即Normal(正常)、Minimized(最小化)、Maximized(最大化),默认为Normal,即正常显示
布局:StartPosition

获取或设置窗体第一次出现时的位置,取值有5种,即Manual(窗体位置由Location属性决定)、CenterScreen(屏幕居中)、WindowsDefaultLocation( Windows默认位置)、WindowsDefaultBounds(Windows默认位置,边界由Windows决定)、CenterParent(在父窗体中居中),默认为WindowsDefaultLocation

窗口样式:Icon 获取或设置窗体上显示的图标
窗口样式:MaximizeBox 获取或设置窗体标题栏右上角是否有最大化按钮,默认为True
窗口样式:MinimizeBox 获取或设置窗体标题栏右上角是否有最小化按钮,默认为True
外观:Text 获取或设置窗口标题栏中的文字
外观:BackColor 获取或设置窗体的背景色
外观:BackgroundImage 获取或设置窗体的背景图像
外观:BackgroundImageLayout 获取或设置图像布局,取值有 5 种,即None(图片居左显示)、Tile(图像重复,默认值)、Stretch(拉伸)、Center(居中)、Zoom(按比例放大到合适大小)
外观:Font 获取或设置窗体上文字的字体
外观:ForeColor 获取或设置窗体上文字的颜色
行为:Enabled 获取或设置窗体是否可用

下面实现一个简单的Windows窗体应用程序,部分属性取值如下。

属性 属性值
Name Form1
StartPosition CenterScreen
Text 第一个窗体
MaximizeBox False
MinimizeBox False
Backgroundimage example.jpg
BackgroundlmageLayout Stretch

在上述属性中除了背景图片 (Backgroundimage) 属性以外,其他属性直接添加上表中对应的属性值即可。设置背景图片属性 (Backgroimdlmage)的方法是单击Backgroundimage属性后的按钮,在弹出的对话框中单击“导入”按钮。

 每一个Windows窗体应用程序在运行时仅能指定一个启动窗体,设置启动窗体的方式是在项目的Program.cs文件中指定。具体的代码如下。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.SetHighDpiMode(HighDpiMode.SystemAware);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

最后按Ctrl+F5键运行程序,效果如下图所示。

 

12.3 窗体事件

在窗体属性面板中单击闪电图标即可查看到窗体中的事件,如下图所示。

事件 作用
行为:Load 窗体加载事件,在运行窗体时即可执行该事件
操作:MouseClick 鼠标单击事件
操作:MouseDoubleClick 鼠标双击事件
鼠标:MouseMove 鼠标移动事件
钥匙:KeyDown 键盘按下事件
钥匙:KeyUp 键盘释放事件
行为:FormClosing 窗体关闭事件,关闭窗体时发生
行为:FormClosed 窗体关闭事件,关闭窗体后发生

下面的例子通过事件操作改变窗体背景颜色。

  • 在事件界面中选中需要创建的事件,并双击该事件右侧的单元格,系统会自动为其生成对应事件的处理方法。

  • 设置好事件后会在窗体对应的代码文件中自动生成与事件对应的4个方法,代码如下。
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 WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {

        }

        private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
  • 添加事件处理代码,除了可以在属性面板中设置外,使用代码设置的方式是使用this关键字代表当前窗体的实例。、
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 WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            //设置窗体背景颜色为黑色
            this.BackColor = Color.Black;
        }

        private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            //设置窗体背景颜色为蓝色
            this.BackColor = Color.Blue;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //设置窗体颜色为红色
            this.BackColor = Color.Red;
        }
    }
}
  • 设置启动窗体,在Program.cs类中将Form1窗体设置为启动窗体。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1
{
    static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.SetHighDpiMode(HighDpiMode.SystemAware);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            // 设置启动窗体
            Application.Run(new Form1());
        }
    }
}

 

标签:控件,12,C#,System,Windows,Form1,窗体,using
From: https://www.cnblogs.com/lab-zj/p/18405882

相关文章