C#委托 部分控件

委托定义

委托(Delegate),是函数指针的“升级版”

委托的字面意思:有一件事,我不自己做,而是委托别人去做

常用属性

  • 委托类似于 C++ 函数指针,但委托完全面向对象,不像 C++ 指针会记住函数,委托会同时封装对象实例和方法。
  • 委托允许将方法作为参数进行传递。
  • 委托可用于定义回调方法。
  • 委托可以链接在一起;例如,可以对一个事件调用多个方法。
  • 方法不必与委托类型完全匹配。 
  • 使用 Lambda 表达式可以更简练地编写内联代码块。 Lambda 表达式(在某些上下文中)可编译为委托类型。 若要详细了解 lambda 表达式,请参阅 lambda表达式。

常用方法

1,声明委托:

Delegate void Print(int x)

2,初始化,给委托赋值

  • 方法1:Print someFunc=hello;
  • 方法2:Print someFunc=new Print(hello);

3,调用委托变量

SomeFunc(x);

系统内置委托

前面是自己定义的委托,但是系统也提供了两种委托:Action和Func,Action用于不需 要返回值的委托,Func适合需要返回值的委托

Action委托


1,Action委托 封装一个方法,该方法不具有参数并且不返回值

2,Action<T>委托 封装一个方法,该方法只有一个参数并且不返回值

3,Action<T1,T2>委托 封装一个方法,该方法具有两个参数并且不返回值

最多有16个参数

Func委托


1,Func(TResult)委托封装封装一个不具有参数但却返回 TResult 参数指定的类型值的方 法

2,Func(T,TResult)委托 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法

3,Func(T1,T2,TResult)委托 封装一个具有两个参数并返回 TResult 参数指定的类型值的方 法

其中的T是参数类型,TResult是返回值类型

常用事件

和委托类似,事件是后期绑定机制。 实际上,事件是建立在对委托的语言支持之上的。

事件是对象用于(向系统中的所有相关组件)广播已发生事情的一种方式。 任何其他组件都可以订阅事件,并在事件引发时得到通知。

你可能已在某些编程中使用过事件。 许多图形系统都具有用于报告用户交互的事件模型。 这些事件会报告鼠标移动、按钮点击和类似的交互。 这是使用事件的最常见情景之一,但并非唯一的情景。

可以定义应针对类引发的事件。 使用事件时,需要注意的一点是特定事件可能没有任何注册的对象。 必须编写代码,以确保在未配置侦听器时不会引发事件。

通过订阅事件,还可在两个对象(事件源和事件接收器)之间创建耦合。 需要确保当不再对事件感兴趣时,事件接收器将从事件源取消订阅。

控件


StatusStrip控件

Windows 窗体 StatusStrip 控件在窗体中用作区域,通常显示在窗口底部,应用程序可在此显示各种状态信息。 StatusStrip 控件上通常具有 ToolStripStatusLabel 控件(用于显示文本或图标以指示状态)或 TooltripProgressBar(用于以图形方式显示进程的完成状态)。

重要 StatusStrip 成员

名称描述
CanOverflo

获取或设置一个值,该值指示 StatusStrip是否支持溢出功能。

Stretch获取或设置一个值,该值指示 ​​​​​​​StatusStrip是否在其 ​​​​​​​ToolStripContainer中从一端拉伸到了另一端。

重要 StatusStrip 伴随类

名称描述
StatusStripStatusLabel表示 StatusStrip​​​​​​​ 控件中的一个面板。

ToolStripDropDownButton

显示一个相关联的 ToolStripDropDown,用户可以从中选择单个项目。
ToolStripSplitButton表示一个两部分的控件,其中包括一个标准按钮和一个下拉菜单。
ToolStripProgressBar显示进程的完成状态。

LinkLable控件

在窗体上放置 LinkLabel 控件:
在 Visual Studio 的窗体设计器中,从工具箱中拖动并放置一个 LinkLabel 控件到你的窗体上。

设置 LinkLabel 的属性:

Text:设置 LinkLabel 显示的文本内容。
Name:为 LinkLabel 指定一个唯一的名称。
LinkColor:设置 LinkLabel 的链接文本颜色。
VisitedLinkColor:设置 LinkLabel 的已访问链接文本颜色。
ActiveLinkColor:设置 LinkLabel 的活动链接文本颜色。
Font:设置 LinkLabel 的字体样式。
处理 LinkLabel 的事件:

LinkClicked:当用户点击 LinkLabel 中的链接文本时触发的事件。你可以通过订阅该事件,在链接文本被点击时执行特定的操作

DataGridView控件

在DataGridView控件中显示数据


通过DataGridView控件显示数据表中的数据,首先需要使用DataAdapter对象查询指定的数据,然后通过该对象的Fill方法填充DataSet(关于DataAdapter对象以及Fill方法可参见第15章的内容),最后设置DataGridView控件的DataSource属性为DataSet的表格数据。DataSource属性用于获取或设置DataGridView控件所显示数据的数据源。


语法:
public Object DataSource { get; set; }


属性值:包含DataGridView控件要显示的数据的对象。

获取DataGridView控件中的当前单元格


若要与DataGridView进行交互,通常要求通过编程方式发现哪个单元格处于活动状态。如果需要更改当前单元格,可通过DataGridView控件的CurrentCell属性来获取当前单元格信息。
CurrentCell属性用于获取当前处于活动状态的单元格。


语法:
public DataGridViewCell CurrentCell { get; set; }


属性值:表示当前单元格的DataGridViewCell,如果没有当前单元格,则为空引用。默认值是第一列中的第一个单元格,如果控件中没有单元格,则为空引用。

直接在DataGridView控件中修改数据


在DataGridView控件中修改数据,主要用到DataTable的ImportRow方法和DataAdapter对象的Update方法。实现的过程是通过DataTable的ImportRow方法将更改后的数据复制到一个DataTable中,然后通过DataAdapter对象的Update方法,将DataTable中的数据更新到数据库中。
ImportRow方法用于将DataRow复制到DataTable中,保留任何属性设置以及初始值和当前值。


语法:
public void ImportRow (DataRow row)


row:要导入的DataRow。

当选中DataGridView控件中的行时显示不同的颜色
可以利用DataGridView控件的SelectionMode、ReadOnly和SelectionBackColor属性实现当选中DataGridView控件中的行时显示不同的颜色。
(1)SelectionMode用于设置如何选择DataGridView的单元格。


语法:
public DataGridViewSelectionMode SelectionMode { get; set; }


属性值:DataGridViewSelectionMode值之一,默认RowHeaderSelect
(2)ReadOnly属性用于设置是否可以编辑DataGridView控件的单元格。


语法:
public bool ReadOnly { get; set; }


属性值:如果用户不能编辑DataGridView控件的单元格,则为true;否则为false。默认为false。
(3)SelectionBackColor属性用于设置DataGridView单元格在被选定时的背景色。


语法:
public Color SelectionBackColor { get; set; }


属性值:Color,它表示选定单元格的背景色,默认为Empty。
 

Timer控件

Timer控件用于背景进程中,通俗来说就是计时器,这是一个不可视控件。 Timer控件主要属性:Enabled和Interval Timer控件主要事件:Tick()

属性:Enabled和Interval

Enabled :Enabled主要是控制当前Timer控件是否可用
Interval 设置事件的时间,以毫秒为单位
事件:Tick()

Tick事件指的是每经过Interval属性指定的时间间隔时发生一次

TabControlk控件

​​​​​​​

默认情况下,TabControl控件包含两个TabPage控件,可以使用TabPage属性的Add方法和Remove方法实现选项卡的添加和删除。

常用属性:

属性说明
ImageList    指定在标签上显示的图像
ItemSize 指定标签的大小
Multiline 表明是否能将标签显示成多行
SelectedIndex所选TabPage的索引
SelectedTab被选中的TabPage
TabCount 返回标签页面的数量
TabPages返回TabControl内的TabPages集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值