C#知识点

人生苦短,想用啥就用啥

整理一些C#学习过程中用到的小知识点

知识一、定时和延时的方法
1.Thread.Sleep(时间);
using System.Threading;
在具体的方法中添加
如 Thread.Sleep(100);//延时100ms
对于winform,如在主线程中延时,整个UI界面是不响应的。
子线程中可以对当前子线程进行延时。
2.自定义Delay(时间);
//延时函数
[DllImport(“kernel32.dll”)]
static extern uint GetTickCount();
public static void Delay(uint ms)
{
uint start = GetTickCount();
while (GetTickCount() - start < ms)
{
Application.DoEvents();
}
}
知识二、遍历某个容器里的控件
1.遍历窗体中所有控件
foreach (Control control in this.Controls)
{
//遍历后的操作…
control.Enabled = false;
}
2.遍历容器中所有控件
foreach (Control control in this.panel1.Controls)
{
control.Enabled = false;
}
3.遍历容器中某种控件
foreach (Control control in this.Controls)
{
  //遍历所有TextBox…
if (control is TextBox)
{
TextBox t = (TextBox)control;
t.Enabled = false;
}
  //遍历所有DateTimePicker…
if (control is DateTimePicker)
{
DateTimePicker d = (DateTimePicker)control;
d.Enabled = false;
}
}
知识三、string为空
string str;
1.string.IsNullOrEmpty(str);
2.str="";
3.str=null;
知识四、关于winform退出窗体
this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
知识五、实现类似QQ的Enter或Ctrl+Enter发送功能
单击控件有一个KeyDown事件
1.Ctrl+Enter
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.Enter)
{
MessageBox.Show(“快点给分!不然…就不好使"); } 2.Enter if ( e.KeyCode == Keys.Enter) { MessageBox.Show("快点给分!不然..就不好使”);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值