WinForm控件学习笔记【第一天】——Control类
感悟:明天就又是学校双选会的日子了。两年我都参与了学校的双选会的服务工作,现在该是双选会服务的我时候了。怎么样找到一份好的工作,或者说怎么样学习才能符合企业对人才的要求,我现在也是很迷茫。平时都是在看似忙碌,每天敲代码,随着自己的兴趣去学习,也不知道自己现在是个什么水平,也许明天去双选会面试一番就都更清晰一些。
两年了,敲了两年的代码了,这期间会逐渐的形成了自己的学习风格,可是有一样我觉明确的知道,学习总结这是很重要的,可我却没有做好,看看之前发过的随笔就知道了。对于C#的基础语法已经很熟悉了(PS:按企业要求我要说精通C#语法了)。
在学校的网络中心,有自己的桌子,晚上就自己,很好的学习环境。打算每天晚上写一篇学习总结。现在就开始吧,Let’s Go!
System.Windows.Control 几乎是每个控件和窗体的基类,派生自 System.ComponentModel.Component 类。Control类为它提供了一个很长的功能列表,就是绝大多是控件所共有的一些属性。
大小和位置
属性名 |
属性值 |
备注 |
Height |
Int |
|
Width |
Int |
|
Top |
Int |
|
Bottom |
Int |
|
Left |
Int |
|
Right |
Int |
|
Size |
Size |
Size结构包含X、Y坐标 |
Location |
Point |
Point结构包含X、Y坐标 |
Dock |
DockStyle |
确定子控件停放在父控件哪条边 |
Anchor |
AnchorStyles |
把子控件的一条边锚定到父控件的一条边 |
用法与用例:
设置窗体启动位置居中:
private void Form1_Load(object sender, EventArgs e) { this.Left = (Screen.PrimaryScreen.WorkingArea.Width - Width) / 2; this.Top = (Screen.PrimaryScreen.WorkingArea.Height - Height) / 2; }
和
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
Dock设置与效果:
设计代码,在Form1.Designet.cs文件里面
this.textBox1.Dock = System.Windows.Forms.DockStyle.Top;
外观
属性名 |
属性值 |
备注 |
BackColor |
Color |
背景色 |
ForeColor |
Color |
前景色 |
BackGroundImage |
Image |
背景图像 |
BackColorImageLayout |
ImageLayout |
设置控件的显示方式 |
Font |
Font |
|
Text |
String |
用法与用例:
1.如果同时设置了窗体或控件的背景色和背景图像则显示背景图像,注意有的控件是没有背景图像这个属性的。
2. 设置控件的显示方式这一属性,ImageLayout是一个枚举类型“Center、Tile、Stretch、Zoom、None”,用的还算多。
3.Font和Text一般要先在属性里设置好实际运行过程中Text的赋值会用的很多,Font基本不会变。
用户交互操作
常用事件 |
备注 |
Click |
鼠标单击事件 |
DoubleClick |
鼠标双击事件 |
KeyDown |
按下按键事件 |
KeyPress |
控件具有焦点用户释放按键事件 |
KeyUp |
释放按键事件 |
MouseDown |
鼠标按下 |
MouseUp |
鼠标释放 |
MouseEnter |
鼠标进入控件可见区域 |
MouseLeave |
鼠标离开控件可见区域 |
MouseHover |
鼠标进入控件可见区域静止一段时间后 |
用法与用例:
1.触发鼠标双击事件一定会先触发鼠标单击事件。
2.MouseDown和MouseUp会把MouseEventArgs作为其参数。其中MouseEventArgs包含单击的按钮、按钮被单击的次数、鼠标制动器的数目和鼠标当前的X、Y坐标。需要处理这些信息就不能用Click和DoubleClick事件。
3.对应的KeyPress事件接收一个KeyPressEventArgs,它包含被按键的字符值KeyChar。
Windows功能
支持与Windows交互操作的功能包括Handle和IsHandleCreated属性。Handle属性返回一个包含控件Windows句柄的IntPrt。窗口句柄是唯一表示窗口的一个很难懂的值,用到的地方很多。
为了访问Windows消息,可以重写WndProc()方法。该方法把一个Message对象作为其参数。Message对象是Windows消息的一个简单封装器,用到的次数很多。
其它功能
数据绑定……
Invalidate()方法可以重绘失效区域……
等等,还有很多就先不说了,以后慢慢写。明天会写一些控件的用例,这个写这应该会舒服些。
WinForm控件学习笔记【第一天】——Control类的更多相关文章
- Winform控件学习笔记【第二天】——常用控件
背景:期末考试刚过就感冒了,嗓子火辣辣的,好难受.但是一想起要学习总结就打起精神来了,Winform控件网上也没有多少使用教程,大部分都是自己在网上零零散散的学的,大部分用的熟了,不总结会很容易忘得. ...
- Winform控件学习笔记【第五天】——ListView
[第五天] 常用的基本属性: FullRowSelect:设置是否行选择模式.(默认为false) 提示:只有在Details视图该属性才有意义. GridLines:设置行和列之间是否显示网格线.( ...
- Winform控件学习笔记【第四天】——WebBrowser
常用方法 Navigate(string urlString);//浏览urlString表示的网址 Navigate(System.Uri url);//浏览url表示的网址 Navigate(st ...
- Winform控件学习笔记【第六天】——TreeView
TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录.TreeView控件中的各项信息都有一个与之相关的Node对象.TreeView显示Node对象的分层目录结构,每个 ...
- Winform控件学习笔记【第三天】——ListBox
1. 属性事件列表: SelectionMode 组件中条目的选择类型,即多选(Multiple).单选(Single) Rows 列表框中显示总共多少行 Selecte ...
- 转)delphi chrome cef3 控件学习笔记 (二)
(转)delphi chrome cef3 控件学习笔记 (二) https://blog.csdn.net/risesoft2012/article/details/51260832 原创 2016 ...
- C# WinForm调用UnityWebPlayer Control控件 <学习笔记1>
工具 1.三维场景 Unity 5.0.2f1 2.开发环境Microsoft Visual Studio 2010 3.需要使用的控件 UnityWebPlayer Control 出现的问题及解决 ...
- Winform控件学习-TreeView - ContextMenuStrip
首先,要向窗体添加一个TreeView控件: 然后再添加一个ContextMenuStrip控件: 接下就要给TreeView添加一个MouseDown事件,代码如下: Example 1 priva ...
- dev控件学习笔记之----CxGrid
本人总结的DEV学习:希望对大家有所帮助. 一.是否显示分组工具: 二.表格左边记录信息显示的宽度: 三.设置表格行高: 四.表头文件的水平和垂直设置:多个设置用按住SHIFT后进行多选,然后就可以设 ...
随机推荐
- iOS-图片浏览器(字典和plist文件的使用)
// // ViewController.m // 19-图片浏览器 // // Created by hongqiangli on 2017/7/31. // Copyright © 201 ...
- Frick'ing Terrain Mesh!
CDLOD地形的实现方法步骤: 1.实现完全二叉树结构的创建2.实现完全四叉树的视锥裁剪与LOD选择(包括节点的部分选择功能)3.使用forward rendering, 实现已选择四叉树节点的普通渲 ...
- PBR Metallic/Roughness工作流中Albedo与F0的计算方法
首先简单回顾一下典型的纯金属与绝缘体的PBR属性: 纯金属: Albedo(diff): 0 F0(spec): >0.3 (or 0.5, epic/allegorithmic etc.) M ...
- 【TensorFlow】TF-tf.nn.dropout
官方的接口是这样的 tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None, name=None) 根据给出的keep_prob参数,将输入te ...
- spring 过滤器
Spring的web包中中有很多过滤器,这些过滤器位于org.springframework.web.filter并且理所当然地实现了javax.servlet.Filter,不过实现的方式有以下几类 ...
- 利用 fdisk进行分区
):fdisk命令参数 p:打印分区表. n:新建一个新分区. d:删除一个新分区. q:退出不保存. w:退出且保存. 例子: 先看下磁盘: root@archiso ~ # lsblk 在这里对磁 ...
- Android 开发自己的网络收音机3——电台分类(ExpandableListView)
上一篇文章说了使用SlidingMenu开源项目实现侧滑栏,今天主要是讲解多级列表ExpandableListView的使用,以及如何使用它实现电台分类管理.ExpandableListView是An ...
- Virtual DOM 虚拟DOM的理解(转)
作者:戴嘉华 转载请注明出处并保留原文链接( #13 )和作者信息. 目录: 1 前言 2 对前端应用状态管理思考 3 Virtual DOM 算法 4 算法实现 4.1 步骤一:用JS对象模拟DOM ...
- RabbitMQ文档翻译——Hello World!(下)
Receiving That's it for our sender. Our receiver is pushed messages from RabbitMQ, so unlike the sen ...
- JVM内存的设置
一.JVM内存的设置的原理 默认的java虚拟机的大小比较小,在对大数据进行处理时java就会报错:java.lang.OutOfMemoryError. 设置jvm内存的方法,对于单独的.class ...