博客
关于我
WinForm基础
阅读量:579 次
发布时间:2019-03-11

本文共 2349 字,大约阅读时间需要 7 分钟。

WinForm基础


项目结构

创建WinForm项目时,需先定义合理的文件结构。通常包括以下布局:

  • Form1.cs:主要窗口,用于显示aremos
  • ** MainForm.cs**:主窗口,用于展示界面
  • Timer.cs:用于阐述计时器控制的应用
  • DataAccess.cs:数据访问类,用于与数据库交互

手工创建窗口

在Visual Studio中,手动创建窗口或通过Extensions -> New -> Project选择创建新项目:

  • 项目类型:Windows Forms应用程序
  • 模板:空类,以便手动设计窗口
  • 命名:设置项目和窗口的名字

  • 添加控件

    在窗口中添加常用控件:

  • TextBox:用于输入文本
  • Button:用于执行动作
  • CheckBox:用于选择布尔值
  • ComboBox:用于下拉选择
  • ListBox:用于展示列表数据

  • 事件处理

    WinForm控件的事件处理需手工配置:

  • 单击事件:如ButtonClick
  • 失去焦点事件:如**TextBox_mentions失去焦点
  • 键盘事件:如KeyPress
  • 示例:显示时间

    在窗口中添加一个Label,设置其Text属性为“时间:”,然后在ButtonClick事件中更新时间:

    private void timer1_Tick(object sender, EventArgs e){    timeLabel.Text = System.DateTime.Now.ToString("HH:mm:ss");}

    控件布局

    采用手动布局或使用布局 Controls:

    • Anchor:以窗口或其他控件为参考点放置
    • Dock:将控件固定在某一边
    • 流式布局:使用FlowLayoutPanel 或 TableLayoutPanel 实现复杂布局

    布局器

    常用布局器类型:

  • FlowLayoutPanel:支持流式布局
  • TableLayoutPanel:表格布局
  • AfDockLayout:自定义固定布局

  • 常用控件

    文本框

    • Multiline属性控制文本行数
    • PasswordChar隐藏密码
    • **超 summons 统计长度

    复选框

    • Checked*属性判断是否选中
    • CheckedChanging事件捕捉选中状态变化

    下拉列表

    • Items设置下拉选项
    • SelectedIndexChanged事件获取用户选择

    列表框

    • ** STL 中绑定数据源
    • Scrollable属性控制是否滚动

    练习:学生信息编辑

    创建一个Form,添加四个文本框和一个SaveButton,手动设置数据源,实现数据双向绑定。


    图片框

    • Image属性设置图片路径
    • SizeMode控制图片大小
    • Click事件触发

    注意:图片需添加到项目中使用,避免直接引用外部路径


    复合控件

    MyLabel 统计

    • 继承自 Label
    • 设置自定义属性(如是否显示边框)
    • 添加自定义事件(如Click事件)

    使用复合控件

    在Form中添加自定义控件,设置其属性并绑定数据


    控件的包装

    MyTextBox

    • 单文件定义,继承自TextBox
    • 添加Read-only属性
    • 定义 PropertyChanged 事件

    添加属性

    • 使用 prop Dependency属性 EnsureInitialized 检查初始化完成

    添加事件

    • 定义 事件,方便用户响应

    对话框

    使用 MessageBox 显示即时提示:

    if (MessageBox.Show("标题", "内容", MessageBoxButtons.OKCancel)){    // 处理点击事件}

    对话框属性

    • Topmost 设置对话框始终在顶部
    • ShowInTaskbar 设置任务栏显示

    返回值

    • 通过 ShowDialog 获取用户选择

    练习:样式设定

    设置对话框的窗口样式,用FormBorderStyle 进行风格切换


    系统对话框

    • MessageBox:用户确认.Alert
    • Prompt:输入框
    • OpenFileDialog、SaveFileDialog:文件选择

    练习:图片查看器

    使用 OpenPictureDialog 显示图片,先获取图片路径,随后在 PictureBox 显示图片


    菜单栏

    创建 MenuStrip

    1.addOnController 方法绑定菜单

    2. 添加 MenuItem 项
    3. Click 事件处理

    工具栏

    添加 Button 到ToolBar Controls,设置 Text 和 Click 事件

    右键菜单

    手动绘制右键菜单,设置 Click 事件响应


    列表控件

    列表数据源

    • 使用DataSource 将 DataSet 绑定
    • 定义一个 List<> 类型

    切换模式

    • 允许用户切换 List 和 GridView 查看方式

    列排序

    使用 SortingEventHandler 回调排序完成

    编辑标签

    设置 Label.EditMask属性,或重新绘制标签格式


    表格视图

    表格使用

  • 初始化 DataTable
  • 绑定 DataSource 或 DataSet
  • 设置 DisplayColumn 属性
  • 单元格编辑

    • TextBoxCell 控件
    • ClickButtonDown 打开编辑模式

    单元格自定义

    • ""));
    给每列设置 CellStyle,以便个性化显示

    学生管理系统

    项目创建

    新建项目,选择 Windows Forms。

    记录添加

    添加文本框和按钮,通过事件处理实现数据添加

    记录编辑

    查找记录并更新 TextBox 内容

    记录删除

    删除选定行记录,提示用户是否确认

    数据保存

    使用 DataSet 存储数据,并写入 Xml 文件

    以上仅为基础内容,可根据需求扩展功能。

    转载地址:http://erdtz.baihongyu.com/

    你可能感兴趣的文章
    JSONPath小试牛刀之Snack3
    查看>>
    Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
    查看>>
    wxWidgets源码分析(3) - 消息映射表
    查看>>
    wxWidgets源码分析(5) - 窗口管理
    查看>>
    wxWidgets源码分析(7) - 窗口尺寸
    查看>>
    wxWidgets源码分析(8) - MVC架构
    查看>>
    wxWidgets源码分析(9) - wxString
    查看>>
    Mybatis Generator最完整配置详解
    查看>>
    [白话解析] 深入浅出熵的概念 & 决策树之ID3算法
    查看>>
    [梁山好汉说IT] 梁山好汉和抢劫银行
    查看>>
    [源码解析] 消息队列 Kombu 之 基本架构
    查看>>
    [源码分析] 消息队列 Kombu 之 启动过程
    查看>>
    [源码分析] 消息队列 Kombu 之 Consumer
    查看>>
    抉择之苦
    查看>>
    wx.NET CLI wrapper for wxWidgets
    查看>>
    Silverlight for linux 和 DLR(Dynamic Language Runtime)
    查看>>
    ASP.NET MVC Action Filters
    查看>>
    Windows SharePoint Services 3.0 Service Pack 2
    查看>>
    Powershell中禁止执行脚本解决办法
    查看>>
    HTTP协议状态码详解(HTTP Status Code)
    查看>>