C#【Windows窗体笔记整合,超全~ 超全~ 超全~】

C#【Windows窗体笔记整合,超全~ 超全~ 超全~】,第1张

本文禁止转载


GO!GO!GO!

C# Windows
  • C# Windows
    • //1.Windows简介
    • //2.窗体程序
    • //3.设计d出提示框:MessageBox.Show()函数
    • //4.多文档窗体(MDI)
    • //1.窗体
    • //2.基本控件(超多)
    • //3.控件缩写
    • //1.绘制:GDI+
    • //2.画布、类封装GDI+绘图图面,提供绘制方法:Graphics对象
    • //3.画笔:Pen
    • //4.位图:Bitmap
    • //1.媒体播放器:MediaPlayer
    • //2.音频播放器:SoundPlayer
    • //1.图片:Image类

C# Windows
//1.Windows简介

● 入口程序

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

namespace day10_02
{
    static class Program
    {
        /// 
        /// 应用程序的主入口点。
        /// 
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

● Application类

  • Application.Run(new Form1()):运行窗口
  • Application.Exit(): 关闭所有应用程序窗口

● 文件

  • From1.cs:窗体文件,存放窗体编写的代码
  • From1.Designer.cs:窗体设计文件,一般不需要修改
  • From1.resx:资源文件,配置当前窗体所使用的字符串,图片等资源
  • Program.cs:主程序文件,包含程序入口的Main()方法
//2.窗体程序

● 代码

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 day10_02
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
    }
}

● 语句

  • partial:分布类,将同一个类的代码分开
  • Form:基类,系统定义的窗体类,具有最基本的属性和方法,:表示继承
//3.设计d出提示框:MessageBox.Show()函数

● 用法:

  • 文本, 标题, 按钮, 图标, 默认按钮焦点, 显示选项, 帮助按钮(默认false), 帮助关键字, 帮助主题
  • MessageBox(String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, boolean, HelpNavigator, Object)

● 参数用法

  • 确认取消按钮:MessageBoxButtons.OKCancel

  • 图标:MessageBoxIcon
    问号:Question 蓝色感叹号:Asterisk 错误:Error 警告:Warning

  • 改变MessageBox的默认焦点:MessageBoxDefaultButton.Button2

  • 文本框内容从右往左显示:MessageBoxOptions.RtlReading

  • 右对齐:MessageBoxOptions.RightAlign

  • 添加Help帮助按钮:true

  • 指定帮助文件的路径:true改为 @“路径”

  • HelpNavigator指示Find元素将打开到搜索页:HelpNavigator.Find

  • 获取或设置对话框返回值:DialogResult.返回值
    返回值有:Yes、No、OK、Cancel、Abort、Retry、Ignore

//4.多文档窗体(MDI)

● 作用

  • MDI:Multiple Document Interface
  • 可以在一个窗体中打开另一个窗体

● 用法

  • 设置为父窗体:窗体.IsMdiContainer = True;
  • 设置子窗体的父窗体:子窗体.MdiParent = 父窗体

● 属性:获取或设置

  • 窗体是否为多文档界面(MDI)子窗体:IsMdiChild
  • 获取多文档界面(MDI)的当前活动子窗口:ActiveMdiChild
  • 此窗体的当前多文档界面(MDI)父窗体:子窗体.MdiParent = 父窗体
  • 用数组中的元素表示以此窗体作为父级的(MDI)子窗体:MdiChildren
    .
  • 窗体是否为多文档界面(MDI)子窗体的容器:IsMdiContainer
  • 窗体是否为多文档界面(MDI)子窗体:IsMdiChild
  • 获取当前活动子窗口:ActiveMdiChild
  • 此窗体的当前多文档界面(MDI)父窗体:子窗体.MdiParent = 父窗体
  • 用数组中的元素表示以此窗体作为父级的(MDI)子窗体:MdiChildren

//1.窗体

● 窗体事件:需要事件发动者 sender,和事件本身 EventArgs

  • 第一次显示窗体前发生:Load
  • 单击窗体时发生:Click
  • 双击窗体时发生:MouseDoubleClick
  • 鼠标进入控件:MouseEnter
  • 鼠标离开控件:MouseLeave
  • 在窗体中单机鼠标左键:MouseClick
  • 在窗体中双机鼠标左键:MouseDoubleClick
  • 在窗体中移动鼠标:MouseMove
  • 鼠标经过控件:MouseHover
  • 按下键时发生:KeyDown
  • 松开键时发生:KeyUp
  • 窗体激活时发生:Activated
  • 窗体失去焦点成为不活动窗体时发生:Deactivate
  • 改变窗体大小时发生:Resize
  • 重绘窗体时发生:Paint、PaintEventArgs类型
  • 关闭窗体时发生:Closed
  • 不再是活动控件时发生:Leave

● 窗体属性:获取或设置

  • 名称:Name
  • 宽度:Width
  • 高度:Height
  • 窗体左边缘的X坐标:Left
  • 窗体上边缘的Y坐标:Top
  • 背景颜色:BackColor
  • 背景图像:BackgroudImage
  • 背景图像布局:BackgroudImageLayout 默认平铺:Tile
    缩放至完全覆盖背景区域:Stretch
  • 窗体图标:Icon
  • 窗体边框样式:FormBorderStyle 默认:Sizable
    无边框:None 固定拖拉:FixedSingle
  • 指定该窗体的鼠标指针样式:Cursor
    .
  • 窗体标题栏的右上角是否有控制框:ControlBox 默认:True
  • 窗体标题栏的右上角是否启用最大化框:MaximizeBox 默认:True
  • 窗体标题栏的右上角是否启用最小化框:MinimizeBox 默认:True
  • 窗体是否在Windows任务栏中:ShowInTaskbar 默认:True
    .
  • 按Enter 建就相当于单击了窗体上的该按钮:AcceptButton = 按钮
  • 按Esc 建就相当于单击了窗体上的该按钮:CancelButton = 按钮
    .
  • 设置窗体是否有模式的显示,如果是,只能对模式窗体进行 *** 作,必须隐藏或关闭模式窗体,然后才能对另一窗体进行输入:Modal 默认:False
  • 容器控件中的活动控件,窗体也是容器控件:ActiveControl = 控件
  • 窗体是否实现自动滚动,可使窗体之外的控件可用:AutoScroll
    .
  • 该控件是否响应:Enabled 默认:True
  • 是否显示该窗体或控件:Visible 默认:True
  • 鼠标是否只响应此控件,不管鼠标是否在此控件范围内:Captrue
  • 控件显示的文本的字体:Font
  • 控件的前景色,用于显示文本:ForeColor
  • 控件的访问修饰符:Modifiers
  • 将按键事件传递到具有焦点的控件前,是否接收该事件:KeyPreview
  • 窗体是否为顶级控件:form.TopLevel = bool
  • 获得包含在控件内的控件的集合、每个为Control:控件.Controls
  • 存储任意数据,用于互传属性:窗体或控件.Tag = 属性
  • 拥有此窗体的窗体:此窗体.Owner = 窗体
    .
  • 窗体运行时的起始位置:StartPosition
    根据父级正中间:CenterScreen 模式窗体根据父级正中间:CenterParent
  • 窗体位置:Location = new Point(x,y)
    .
  • 窗体标题栏中显示的文本:Text
  • 设置窗体始终在最上面:TopMost 默认:False
    .
  • 初始可视状态:WindowState
  • 默认:Normal 最大化:Maximized 最小化:Minimized
  • 指定窗体如何显示:FormWindowState

● 窗体方法

  • 激活窗体并给予它焦点:窗体.Activate()
  • 关闭窗体:窗体.Close()
  • 显示窗体:窗体.Show()
  • 隐藏窗体:窗体.Hide()
  • 刷新并重绘窗体:窗体.Refresh()
  • 窗体显示为模式窗体:窗体.ShowDialog()
  • 处置窗体、该窗体方法执行完成后,窗体会被关闭销毁:窗体.Dispose()

● EventArgs类型的变量

  • 获取鼠标在产生鼠标事件时的X坐标:e.X
  • 获取鼠标在产生鼠标事件时的Y坐标:e.Y
//2.基本控件(超多)

● 基本控件属性

  • 设置坐标:new Point(x, y)

● 创建控件方法

  • System.Windows.Forms.控件类型 控件名称;

● 标签、显示用户不能编辑的文本或图像:Label

  • 文本:Text
  • 图像:Image
  • 是否自动调整控件大小,使完整显示:AutoSize
  • 确定此控件与容器控件的固定关系,可设置上下左右:Anchor
  • 背景色:BackColor
  • 边框:BorderStyle
    无边框:None 固定单边框:FixedSingle 三维边框:Fixed3D
  • Tab建顺序:TabIndex
  • 该控件是否响应:Enabled

● 链接标签、点击跳转:LinkLabel

● 文本框、获取用户输入的信息 或向用户显示的信息:TextBox

  • 与文本框关联的文本:Text
  • 获取文本长度:TextLength
  • 指定输入的最大字符数:MaxLength
  • 是否能输入多行文本:Multiline
  • 多行文本输入超过一行,是否自动换行:WordWrap
  • 多行文本的滚动条模式:ScrollBars
    无:None 水平:Horizontal 垂直:Vertical 水平和垂直:Both
  • 数组属性,多行文本的每一行拆分放在数组:Lines
  • 焦点离开后,选中的文本不以选中的方式显示:HideSelection
  • 字符串类型,指定作为密码框时,显示的字符:PasswordChar
  • 只读:ReadOnly
  • 选定的字符数:SelectionLength
  • 选定的文本:SelectedText
  • 选定的文本起始索引:SelectionStart
  • 自创建或上次设置该控件内容后,用户是否修改了该控件内容:Modfied
    .
  • 尾部追加字符串:文本框.AppendText(“字符串”)
  • 清空文本:文本框.Clear()
  • 为文本框设置焦点,设置成功返回true:文本框.Focus()
  • 在文本框选定文本:文本框.Select(开始下标, 选定长度)
  • 在文本框选定所有文本:文本框.SelectAll()
  • 将文本框的选定内容复制:文本框.Copy()
  • 将文本框的选定内容剪切:文本框.Cut()
  • 将剪切板的内容粘贴到文本框:文本框.Paste()
  • 撤销文本框的上一个编辑 *** 作:文本框.Undo()
  • 从撤销缓冲区清除最近的 *** 作:文本框.ClearUndo()
  • 撤销文本框的上一个编辑 *** 作:文本框.Undo()
    .
  • 接收焦点时:GotFocus事件
  • 失去焦点时:LostFocus事件
  • 更改文本框的Text属性值时:TextChanged事件

● 组合框、结合文本框和列表框,允许输入文本或从列表选择:ComboBox

  • 与组合框关联的文本:Text
  • 存放列表项的集合:Items
  • 组合框的显示外观:DropDownStyle
  • 是否对项进行排序:Sorted 默认:False
  • 是否显示列表框部分,是否允许编辑文本框部分:DropDownStyle
  • 获取选定的隐藏值:SelectedValue
  • 数据源:DataSource = DataSet对象
  • 显示值:DisplayMember = “要显示的列”
  • 实际值:ValueMember = “实际会得到的列数据”
    .
  • 选定项的索引变化时:SelectedIndexChanged事件

● 按钮、允许用户通过单击来执行 *** 作:Button

  • 按钮上的文本:Text
  • 文本对齐方式:ContentAlignment.垂直水平
  • 设置按钮上的图像:Image
  • 模式窗体时,设置按了按钮后的返回值:DialogResult.返回值
    值有:Yes、No、OK、Cancel、Abort、Retry、Ignore
  • 设置按钮的外观:FlatAppearance
    边框颜色:BorderColor 边框大小:BorderSize
    按下时背景颜色:MouseDownBackColor
    悬停时背景颜色:MouseOverBackColor
  • 设置按钮的样式:FlatStyle
    平滑:Flat
    .
  • 单击控件时:Click事件
  • 按下鼠标时:MouseDown事件
  • 释放鼠标时:MouseUp事件

● 分组框、会同时移动和删除,Visible和Enabled也会同时影响:GroupBox

  • 向用户提供提示信息:Text

● 单选按钮、通常成组出现,提供两个或多个互斥选项:RadioButton

  • 单选按钮显示的文本:Text
  • 单选按钮是否被选中:Checked
  • 选择后,是否自动清除该组的其他单选按钮:AutoCheck 默认:True
  • 按钮外观:Appearance 默认:Normal 命令按钮外观:Button
    .
  • 单击单选按钮时:Click事件
  • 更改Checked属性值时:CheckedChanged事件

● 复选框:CheckBox

  • 文本对齐方式:ContentAlignment.垂直水平
  • 是否能设置三种状态、false(选中、没选中)和中间态:ThreeState
  • 复选框是否被选中、中间态也表示选中:Checked
  • 复选框状态:CheckState
    选中:Checked 没选中:Unchecked 中间态:Indeterminate

● 列表框、显示一个项目列表,可选择一项或多项:ListBox

  • 存放列表项的集合,可添加、移除和获得数目:Items
  • 是否支持多列,可显示更多可见项:MultiColumn
  • 列表框的宽度:ColumnWidth
  • 选择列表项的方法:SelectionMode
    默认、只能选择一项:One 单击或按空格键将选择或撤销:MultiSimple
    Shift+单击,或Shift+箭头键,会将选定内容扩展到当前项:MultiExtended
  • 当前选定项的索引、未选定则返回值为1:SelectedIndex
  • 获取集合,包含所有选定项的索引:SelectedIndices
  • 当前选定项:SelectedItem
  • 获取选定项的集合:SelectedItems
  • 列表项是否按字母顺序排序:Sorted 默认:false
  • 获取当前选定项的文本,或搜索,返回第一个,字符串搜索列表:Text
  • 返回列表项的数目:ItemsCount
    .
  • 查找以指定字符串开始的第一个项的索引:列表框.FindString(字符串)
  • 查找Str,从索引n+1开始查找,返回索引:列表框.FindString(Str, n)
    找不到返回:ListBox.NoMatches
  • 用bool选择或取消选择索引n的列表项:列表框.SetSelected(n, bool)
  • 增添一个项:列表框.Items.Add(列表项)
  • 指定索引位置插入一个项:列表框.Items.Insert(索引, 列表项)
  • 删除一个项:列表框.Items.Remove(索引, 列表项)
  • 清除所有项:列表框.Items.Clear()
  • 添加列表项时,不重绘列表框:列表框.BeginUpdate()
  • 重绘列表框:列表框.EndUpdate()
    .
  • 单击单选按钮时:Click事件
  • 更改选中项时:SelectedIndexChanged事件

● 复选列表框:CheckedListBox

  • 当某项被选中时,是否选定复选框:CheckOnClick 默认:false
  • 状态为选中或不确定的项的集合、索引为升序排列:Checkeditems
  • 状态为选中或不确定的项,索引的集合:CheckedIndices

● 面板、将其他控件组合在一起放在一个面板上:Panel

  • 边框:BorderStyle
  • 背景图像:BackgroundImg
  • 位置,相对于左上角,(x,y):Location
  • 大小,(宽, 高):Size
  • 停放在窗口边框,属性为Fill和上下左右:DockStyle

● 菜单栏:MenuStrip

  • 快捷键:ShortcutKeys
  • 字符快捷键、按Alt+字符触发:&+字符

● 工具栏:ToolStrip

  • 显示内容:DisPlayStyle 默认:Image
  • 图片是否缩放:ImageScaling 默认:SizeToFit、缩放
  • 图片和文字的位置:TextImageRelation
  • 工具项的外边距:Margin

● 选择日期框:DateTimePicker

  • 获取值:Text、String类型
  • 获取日期格式的值:Value
  • 日期格式:Format
    .
  • 转换为 ‘/’ 分割的日期:日期格式的值.ToShortDateString()

● 列表视图、以五种不同视图中的一种显示,项的集合:ListView

  • 存放列表项的集合:Items
  • 实例化一个项:ListViewItem item = new ListViewItem(构造参数)
  • 增添一个项:列表视图.Items.Add(项)
  • 往项对象中添加子项:项.SubItems.Add(子项)
  • 选择显示模式:View 默认、大图:LargeIcon 小图:SmallIcon
    详情模式:Details 列表:List
  • 大图图像列表:LargeImageList
  • 小图图像列表:SmallImageList
  • 视图图像列表的图像,用图像索引:Items.ImageIndex
  • 存放列表列的集合:Columns
  • 增添一个列:列表视图.Column.Add(列名)
  • 获取选定的项:列表视图.SelectedItems[索引]
  • 指定的项是否选中:列表视图.Items[索引].Selected = true/false
  • 项的子项:项.SubItems[索引]
  • 获取集合中项的数量:Count
  • 是否整行选中:FullRowSelect 默认:False
    .
  • 清除所有项:列表视图.Items.Clear()
  • 获取指定的项的索引:IndexOf()
  • 移除指定项:Remove()

● 图像列表、管理其他控件的图片集合:ImageList

  • 存放图片的集合,可添加、移除和获得数目:Images
  • 集合中是否包含图像:Empty
  • 集合中包含的图像数:Images.Count
    .
  • 获取图片:图像列表.Images[索引]
  • 添加图像:Add()
  • 清除图像:Clear()
  • 绘制图像:Draw()
  • 给指定索引的图像设置键:SetKeyName()
  • 是否包含指定键的图像:ContainsKey()
  • 获取包含指定键的图像的索引:IndexOfKey()
  • 删除指定索引的图像:RemoveAt()
  • 删除指定键的图像:RemoveByKey()

● 图片框、可加载的图片格式有.Bmp .ICO .wmf .JPEG .GIF:PictureBox

  • 显示的图片:Image
  • 设置控件要显示的图像、可Bitmap赋值、或调用Image.FromFile()
  • 设置图像的显示模式:SizeMode 默认:Normal
    缩放至完全覆盖背景区域:StretchImage

● 右击菜单栏、右键关联控件时,显示:ContextMenuStrip

  • 关联控件、在其他控件设置:ContextMenuStrip
  • 存放项的集合:Items

● 定时器,计时器控件、周期性触发Tick事件、该控件不可见:Timer

  • 设置两次Tick事件的时间间隔,单位毫秒、1000毫秒 = 1秒:Interval
  • 设置是否运行:Enabled
    .
  • 启动定时器:定时器.Start()
  • 停止定时器:定时器.Stop()
    .
  • 每隔Interval时间触发:Tick事件

● 数据网格显示:DataGridView

  • 所有列的集合:Columns
  • 所有行的集合:Rows
  • 行里所有单元格的集合:Cells
  • 数据源:DataSource
  • 创建数据视图:DataView
  • 筛选在DataView中查看哪些行:RowFilter
  • 排序DataView中的行:Sort = “内容”
  • 显示的表的名称:DataMember
  • 显示的行的数量:RowCount
  • 是否可编辑单元格:ReadOnly 默认:false
  • 获取选中的行:SelectedRows
  • 获取选中行的索引:SelectedRows[0].Index
  • 是否自动生成列:AutoGenerateColumns 默认:true
  • 绑定列:DataPropertyName
  • 多行的显示模式:AutoSizeRowsMode
  • 多列的显示模式:AutoSizeColumnsMode
  • 是否显示行标题:RowHeadersVisible 默认:true
  • 是否允许用户添加行:AllowUserToAddRows 默认:true
  • 选中模式:SelectionMode

● 树视图:TreeView

  • 存放节点的集合:Nodes
  • 创建节点:TreeNode tn = new TreeNode()
  • 创建节点集合:TreeNodeCollection tnc = new TreeNodeCollection()
  • 添加节点,返回添加的节点:Nodes.Add
  • 往节点添加子节点:节点.Nodes.Add
  • 节点的默认图像索引:ImageIndex
  • 选中时的图像索引:SelectedImageIndex
  • 获取选中的节点:SelectedNode
  • 获取节点的文本:节点.Text
  • 获取节点的索引:节点.Index
  • 获取节点的深度,深度从0开始:节点.Level
  • 获取当前节点的父级节点:节点.Parent
  • 获取下一层的所有节点,返回TreeNodeCollection类型:节点.Nodes
    .
  • 展开所有节点:ExpandAll()
  • 清空该节点的子节点:节点.Nodes.Clear()
  • 删除一个节点,和它的子节点:节点.Remove()
  • 克隆一个节点:Clone()
    .
  • 更改选中的节点时:AfterSelect事件
  • 单击节点时:NodeMouseClick事件

● 分割容器、将显示区域分成两个大小可控的,可添加面板:SplitContainer

● 打开文件对话框:OpenFileDialog

  • 文件名筛选器字符串,竖线分割选项字符串,分号分割文件类型:Filter、例:“图像文件|.png;.BMP;.JPG;.GIF;.PNG;.ico*;*.jpg”
  • 当前选定筛选器的索引:FilterIndex
  • 获取选定文件的绝对路径:FileName
  • 获取选定文件的文件名:SafeFileName
  • 获取所有选定文件的路径,返回数组:FileNames
  • 显示的初始目录:InitialDirectory
  • 是否允许同时选定多个文件:Multiselect 默认:false
    .
  • 显示:ShowDialog()
    .
  • 选则文件后,点击确认时:FileOk事件

● 文件夹浏览器对话框:FolderBrowserDialog

  • 获取选定文件夹的路径:SelectedPath
  • 在对话框中提供说明:Description = “描述内容”
  • 设置对话框启动时的根目录:RootFolder
  • 是否显示新建文件夹按钮:ShowNewFolderButton 默认:True
    .
  • 显示:ShowDialog()
    .
  • 选则文件后,点击确认时:FileOk事件

● 鼠标停在控件上的提示文本:ToolTip

● 滑块,允许用户在值范围中进行选择:TrackBar

  • 最大值:Maximum
  • 最小值:Minimum
  • 位置:Value
  • 隔多长加一个刻度:TickFrequency 默认:1
  • 指定在哪些位置显示刻度:TickStyle 默认:BottomRight
//3.控件缩写

● 基本类型

  • string str
  • int i
  • char chr
  • sbyte sb
  • byte bt
  • uint ui
  • long l
  • ulong ul
  • float f
  • double d
  • bool b
  • decimal dec

● winForm公共控件

  • Button btn
  • CheckBox chk
  • CheckedListBox clst
  • ComboBox cbo
  • DateTimePicker dtp
  • Label lbl
  • LinkLabel llbl
  • ListBox lst
  • ListView lvw
  • MaskedTextBox mtx
  • MonthCalendar cdr
  • NotifyIcon icn
  • NumericUpDown nud
  • PictureBox pic
  • ProgressBar prg
  • RadioButton rbtn
  • RichTextBox rtx
  • TextBox txt
  • ToolTip tip
  • TreeView tvw
  • WebBrowser wbs

● 容器控件

  • FlowLayoutPanel flp
  • GroupBox gbx
  • Panel pnl
  • SplitContainer spl
  • TabControl tab
  • TableLayoutPanel tlp

● 菜单和工具栏

  • ContextMenuStrip cms
  • MenuStrip mns
  • StatusStrip ssr
  • ToolStrip tsr
  • ToolStripContainer tsc

● 数据控件

  • Chart cat
  • BindingNavigator bdn
  • BindingSource bds
  • DataGridView Dgv
  • DataSet Dst

● 对话框控件

  • ColorDialog cld
  • FolderBrowserDialog fbd
  • FontDialog fnd
  • OpenFileDialog ofd
  • SaveFileDialog sfd

● 组件控件

  • BackgroundWorker bgw
  • DirectoryEntry dre
  • DirectorySearcher drs
  • ErrorProvider err
  • EventLog evl
  • FileSystemWatcher fsw
  • HelpProvider hlp
  • ImageList img
  • MessageQueue msq
  • PerformanceCounter pfc
  • Process prc
  • SerialPort spt
  • ServiceController scl
  • Timer tmr

● 打印控件

  • PageSetupDialog psd
  • PrintDialog prd
  • PrintDocument pdc
  • PrintPreviewControl prv
  • PrintPreviewDialog ppd

● 水晶报表控件

  • CrystalReportViewer crv
  • ReportDocument rpd

● 其他控件

  • DomainUpDown dud
  • HScrollBar hsc
  • PropertyGrid prg
  • Splitter spl
  • TrackBar trb
  • VScrollBar vsc

//1.绘制:GDI+

● 窗体布局

  • 坐标:类似X, Y坐标轴,但Y轴是倒着的

● 命名空间

  • System.Drawing:提供对GDI+基本图形功能的访问
  • System.Drawing.Drawing2D:提供二维和矢量图像功能
  • System.Drawing.Imaging:提供高级GDI+图像处理功能
  • System.Drawing.Printing:提供打印相关服务
  • System.Drawing.Text:提供高级GDI+排版功能
  • System.Drawing.Design:自定义扩展设计时,用户界面逻辑和绘制的类

● paint事件方法

  • 需要对象sender,和PaintEventArgs类型的变量

● 重绘

  • 使控件的整个图面无效,并导致重绘控件:Invalidate();
  • 执行Form类的OnPaint()方法,使重绘:base.OnPaint(e)
//2.画布、类封装GDI+绘图图面,提供绘制方法:Graphics对象

● 调用方法

  • 利用paint事件调用:Graphics g = e.Graphics
  • 调用某控件或窗体的方法使引用:Graphics g = 窗体.CreateGraphics()
  • 方法里的调用:方法名(Graphics 名称)

● 结构组件:new创建

  • Point类:表示具体的位置
  • Size类:表示尺寸,包含宽度与高度
  • Rectangle(Point, Size)
  • Rectangle(X坐标, Y坐标, 宽度, 高度)

● 方法

  • 清除画布并以指定背景色填充:画布.Clear(Color.颜色)
  • 释放画布资源:画布.Dispose()
  • 向元文件添加注释:AddMetafileComment

● 绘制方法

  • 画弧:DrawArc(Pen对象, Rectangle, startAngle, sweepAngle)
  • 画直线:DrawLine(Pen对象, Point1, Point2)
  • 画曲线:DrawCurve(Pen对象, Point[])
  • 画闭合曲线:DrawClosedCurve(Pen对象, Point[])
  • 画立体的贝塞尔曲线:DrawBezier(Pen对象, Point, Point, Point, Point)
  • 画一组贝塞尔曲线:DrawBeziers(Pen对象, Point[])
  • 通过路径画线和曲线:DrawPath
    .
  • 绘制文字:DrawString
  • 画图像:DrawImage(Image, Rectangle)
  • 画椭圆:DrawEllipse(Pen对象, Rectangle)
  • 画矩形:DrawRectangle(Pen对象, Rectangle)
  • 画多边形:DrawPolygon
  • 画扇形:DrawPie(Pen对象, Rectangle, startAngle, sweepAngle)
    .
  • 填充区域:FillRegion
  • 填充路径:FillPath
  • 填充闭合曲线:FillCloseCurve
  • 填充椭圆:FillEllipse(Pen对象, Rectangle)
  • 填充矩形:FillRectangle(Pen对象, Rectangle)
  • 填充矩形组:FillRectangles
  • 填充多边形:FillPolygon
  • 填充扇形:FillPie(Pen对象, Rectangle, startAngle, sweepangle)

● 属性

  • 限定绘图区域:Clip
  • 画布呈现质量:SmoothingMode
  • 呈现画布过程中,像素如何偏移:PixelOffsetMode
  • 文本的呈现模式:TextRenderingHint
  • 呈现文本的灰度校正值:TextContrast
  • 获取水平分辨率:DpiX
  • 获取垂直分辨率:DpiY
  • 获取可见剪辑区域的边框:VisibleClipBounds
  • 获取一个矩形结构,限制剪辑区域:ClipBounds
  • 获取一个值,指定可见剪辑区域是否为空:IsVisibleClipEmpty
  • 获取一个值,指定如何绘制合成图像:CompositingMode
  • 绘制的合成图像的呈现质量:CompositingQuality
  • 插补模式:InterpolationMode
  • 页坐标的度量单位:PageUnit
  • 世界单位和页单位之间的比例:PageScale
  • 底色处理和阴影画笔的呈现原点:RenderingOrigin
  • 几何世界变换的副本:Transform
//3.画笔:Pen

● 调用方法

  • 实例化画笔:Pen pen = new Pen(Color或Brush, 宽度float)

● 画笔对齐方式:Alignment
● 画笔宽度:Width
● 画笔颜色:Color

  • 英文名:red
  • Argb函数:FromArgb(透明度,red,green,blue)、透明度默认255

● 画刷:Brush、new创建

  • 单色画刷:SolidBrush(Color)
  • 影线画刷:HatchBrush(HatchStyle, Color)
  • 纹理画刷:TextureBrush
  • 线性渐变画刷:LinearGradientBrush(Point, Point, Color, Color)
  • 路径渐变画刷:PathGradientBrush
  • 线性渐变和路径渐变会平铺整个面板,根据你的位置填颜色
//4.位图:Bitmap

● 调用方法

  • 实例化位图:Bitmap image = new Bitmap(“图片路径 或 文件名”)

● 指定图片路径

  • 同一级:\
  • 进一级:.\
  • 退一级:…\
  • 绝对路径:绝对地址

● 属性

  • 返回宽度:Width
  • 返回高度:Height
  • 返回像素格式:PixelFormat
  • 图像所使用的颜色调色板:Palette

● 方法

  • 获取指定像素的颜色:GetPixel()
  • 设置指定像素的颜色:SetPixel()

//1.媒体播放器:MediaPlayer

● 调用方法

  • 工具箱>选择项>COM组件添加 WindowsMediaPlayer 控件、支持视频和音频
  • 路径:bin\Debug

● 用法

  • 布局模式:uiMode 默认:Full
    无边框:None 迷你:Mini 不显示:Invisible
  • 路径:URL = 路径
  • 是否启用右击菜单:EnableContextMenu
  • 是否全屏显示:fullScreen
  • 是否允许单击播放启动播放器:ClickToPlay
  • 播放列表:IWMPPlaylist
    .
  • 状态:playState
  • 控制的集合:Ctlcontrols
  • 设置的集合:settings
  • 当前媒体属性的集合:currentMedia
  • 当前播放列表的集合:currentPlaylist

● 状态:playState

  • 未知状态:wmppsUndefined = 0
  • 停止:wmppsStopped = 1
  • 暂停:wmppsPaused = 2
  • 播放中:wmppsPlaying = 3
  • 向前搜索:wmppsScanForward = 4
  • 向后搜索:wmppsScanReverse = 5
  • 正在缓冲:wmppsBuffering = 6
  • 正在等待流开始:wmppsWaiting = 7
  • 播放流已结束:wmppsMediaEnded = 8
  • 准备新的媒体文件:wmppsTransitioning = 9
  • 播放准备就绪:wmppsReady = 10
  • 尝试重新连接流媒体数据:wmppsReconnecting = 11
  • 上一次状态,状态没有改变:wmppsLast = 12

● 控制的集合:Ctlcontrols

  • 播放:play()
  • 暂停:pause()
  • 停止:stop()
  • 快进:fastForward()
  • 快退:fastReverse()
  • 下一曲:next()
  • 上一曲:previous()
  • 当前进度:currentPosition
  • 当前进度、字符串格式:currentPositionString
  • 快进/快退速率:Rate
  • 声道:Balance
  • 静音:Mute

● 设置的集合:settings

  • 音量:volume = 0-100
  • 是否自动播放:autoStart
  • 是否静音:mute
  • 播放次数:playCount
    .
  • 播放模式:setMode() (shuffle/loop,布尔值)

● 当前媒体属性的集合:currentMedia

  • 总长度:duration
  • 总长度、字符串格式:durationString
  • 获取标题:name
  • 获取路径:sourceURL
    .
  • 获取信息:getItemInfo(“信息”) 标题:Title 作者:Author
    版权信息:Copyright 内容描述:Description 持续时间(秒)=Duration
    文件大小:FileSize 文件类型:FileType 原始地址:sourceURL
  • 设置信息:setItemInfo(“信息”)

● 当前播放列表的集合:currentPlaylist

  • 存放播放列表项的集合:Items[索引]
  • 媒体数:count
//2.音频播放器:SoundPlayer

● 调用方法

  • SoundPlayer sp = new SoundPlayer(音频路径)

● 用法

  • 播放:音频.Play()
  • 停止:音频.stop()

//1.图片:Image类

● 方法

  • 源文件地址:FromFile()

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/725256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存