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后进行多选,然后就可以设 ...
随机推荐
- 完美解决苹果电脑mac终端无法输入大写T的问题
[本文出自天外归云的博客园] 最近突然发现我的苹果电脑mac终端无法输入大写字母T,今天终于在同事的帮助下解决了!之前在网上查解决方法,感觉步骤描述欠佳!今天记录一下这个踩坑经验: 完美解决! 首先打 ...
- WPF 异步执行
private void Operate_OnClick(object sender, RoutedEventArgs e) { AsyncFindBox(); RadWindow.Alert(&qu ...
- 问题-DelphiXE10.1 FireDAC联接oracle数据库方法
问题现象:安装oracle后,安装Delphi10.1,放FDConnection1时,选择"Ora"驱动时,提示如下: [FireDAC][Phys][Ora]-315. Can ...
- .net 微信Token验证
首次接受这个项目,看了微信的API,云里雾里,经过几经测试,理清思路 开发者自个申请,微信API给出四个参数: 下面我解释下 signature 是微信加密签名 即:微信服务器将 timetamp n ...
- iOS App中第一次运行添加半透明新手指引
实现方式: 在当前View上一个蒙层,然后找出需要标记的地方圈为白色,那些箭头和提示文字都是UI做出来的图上自带的. 代码: 判断是第一次运行APP后进入页面调用 -(void)newGuide { ...
- 神奇的bug,退出时自动更新时间
遇到一个神奇的bug,用户退出时,上次登录时间会变成退出时的时间. 于是开始跟踪,发现Laravel在退出时,会做一次脏检查,这时会更新rember_token,这时就会有update操作如下. 而粗 ...
- 关于Linux系统指令 top 之 %si 占用高,分析实例一
续“top %wa 高的问题”之后,又遇到top之%si过高(高峰时段超过95%)的问题. %wa高,说明磁盘忙.譬如磁盘读写次数非常高.%si高,是否说明软中断忙?是否也说明软中断次数非常高呢? 为 ...
- 【React全家桶入门之十】登录与身份认证
细致想想,我们的后台系统还没有一个登录功能,太不靠谱,赶紧把防盗门安上! SPA的鉴权方式和传统的web应用不同:因为页面的渲染不再依赖服务端,与服务端的交互都通过接口来完毕,而REASTful风格的 ...
- 跨域通信--Window.postMessage()
一.跨源通信概述 源:协议.端口号(https默认值433).主机域名(document.domain) 作用:向目标窗口派发MessageEvent消息(四个属性) 兼容参考 MessageEven ...
- 再谈git的http服务
因为git服务器搬迁,需要重新安装git服务器,在网上搜索了下,发现之前的方法太复杂,复杂到自己都没彻底弄明白.其实通过git自带的git-http-backend脚本配合apache2的http服务 ...