摘录C#代码片段
1.保存数据到指定文件
String response = "";//数据
byte[] bytes = response.getBytes();//转化Byte
string filename =“asd”;//自己指定保存的文件名
FileStream fs = new FileStream(@"d:\" + filename + ".txt", FileMode.OpenOrCreate, FileAccess.Write);//自己指定路径
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));//通过指定字符编码方式可以实现对汉字的支持,否则在用记事本打开查看会出现乱码
sw.Flush();
sw.BaseStream.Seek(0, SeekOrigin.Begin);
sw.WriteLine(bytes);
sw.Flush();
sw.Close();
2.Invoke.[form.show()]
Type type = Type.GetType("[namespace]." + form);
if (type != null)
{
MethodInfo method = type.GetMethod("ShowDialog", BindingFlags.Public | BindingFlags.Instance, null, new Type[] { }, null);
object obj = type.Assembly.CreateInstance(type.FullName);
method.Invoke(obj, null);
}
3.时间换算
//这样对 long 做除法会出误差(不能整除的时候)
public long getTimeInMillis()
{
return Decimal.ToInt64(Decimal.Divide(DateTime.Now.Ticks - 621355968000000000, 10000));
}
//Linux 时间是从 Epoch 开始算的,1970-01-01 00:00:00.//000 叫“Epoch”。
// 使用 DateTime.Now 的时候注意时区问题!//Java 是以 UTC 为基准的,而经查证,.NET 中与其对应的 是 DateTime.UtcNow 而非 DateTime.Now!
//所以,最后的结论就是:
return Decimal.ToInt64(Decimal.Divide(DateTime.Now.Ticks - new DateTime(1970, 1, 1, 8, 0, 0).Ticks, 10000))
//或者
return Decimal.ToInt64(Decimal.Divide(DateTime.UtcNow.Ticks - 621355968000000000, 10000));
4.随机颜色
public System.Drawing.Color GetRandomColor()
{
Random RandomNum_First = new Random((int)DateTime.Now.Ticks);
// 对于C#的随机数,没什么好说的
System.Threading.Thread.Sleep(RandomNum_First.Next(50));
Random RandomNum_Sencond = new Random((int)DateTime.Now.Ticks);
// 为了在白色背景上显示,尽量生成深色
int int_Red = RandomNum_First.Next(256);
int int_Green = RandomNum_Sencond.Next(256);
int int_Blue = (int_Red + int_Green > 400) ? 0 : 400 - int_Red - int_Green;
int_Blue = (int_Blue > 255) ? 255 : int_Blue;
return System.Drawing.Color.FromArgb(int_Red, int_Green, int_Blue);
}
5.搞不懂
**对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。
比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集。
如果你记录日志的程序集是这么定义的
namespace LogerHelper {
internal class aa{
public void bb(){
return ""; } }
public class Write{
public void WriteIn(string content){
class x = new aa();
x.bb();}}}
当另一个项目引用了此DLL
它可以这么访问
LogerHelper.Write x = new LogerHelper.Write();
x.WriteIn("");
但不可以这么访问
LogerHelper.aa x = new LogerHelper.aa();
x.bb();
这就叫,只能在程序集中访问
6.枚举+随机
class Program{
static void Main(string[] args){
Color[] colors =
Enum.GetValues(typeof(Color)) as Color[];
Random random = new Random();
Color color = colors[random.Next(0,
colors.Length)];}}
internal enum Color{
White,Black,Red,Green,Pink}
7.threadsleep
using System.Threading; //导入命名空间,类Thread就在此空间中
Thread.Sleep(10000);
8.系统字体颜色字体大小
if (MessageBox.Show("
?", "提示", MessageBoxButtons.YesNo) ==DialogResult.Yes) {}
FontFamily获取:
//前台有个familyList(DropDownList控件)
for(int i=0;i<FontFamily.Families.Length;i++)
{
familyList.Items.Add(FontFamily.Families[i].Name);
}
//InstalledFontCollection
InstalledFontCollection ifc=new
InstalledFontCollection();
foreach(FontFamily ff in ifc.Families)
{
familyList2.Items.Add(ff.Name);
}
获取系统已安装的颜色:
//System.Drawing.KnownColor
string[] colors=Enum.GetNames(typeof(System.Drawing.KnownColor);
foreach(string color in colors)
{
ListItem list=new ListItem(color);
list.Attributes.Add("style","color:"+color);
colorList.Items.Add(list);
}
获取字体大小:
//System.Web.UI.WebControls.FontSize
string[] sizes=Enum.GetName(typeof(System.Web.UI.WebControls.FontSize));
foreach(string size in sizes)
{
sizeList.Items.Add(size);
}
9.快捷键
一、 C# button快捷键之第一种:Alt + *(按钮快捷键)
在大家给button、label、menuStrip等控件设置Text属性时在名字后边加&键名就可以了,比如button1.text= "确定(&O)"。就会有快捷键了,这时候按Alt+O就可以执行按钮单击事件。
二、C# button快捷键之第二种:Ctrl+*及其他组合键
在WinForm中设置要使用组合键的窗体的KeyPreview(向窗体注册键盘事件)属性为True;
然后使用窗体的KeyDown事件(在首次按下某个键时发生).
C# button快捷键实例代码如下:
private void ***_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F && e.Control)
{
button1.PerformClick(); //执行单击button1的动作
}
}
此处注意:
1、***代表窗体名称,看一下 ”Keys”的枚举参数,以实现自己的需要
2、还有一个问题,当使用Ctrl + *快捷键时,对于焦点在可写的控件(如TextBox)上时,可能会将* 键值同时输入,则需要加另一句话将Handled设置为true,以取消
KeyPress 事件。即:
private void ***_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F && e.Control)
{
e.Handled = true; //将Handled设置为true,指示已经处理过KeyPress事件
button1.PerformClick();
}
}
三、C# button快捷键之第三种方法
还是以button为例。给form添加一个contextMenuStrip1,将其邦定到button上,假设为button1。给
contextMenuStrip1添加一个item,然后为它设置快捷键(就是你想加在button上的快捷键),并且将它的Visible属性设为 false。这样,C# button快捷键设置成功。
四、C# button快捷键之第四种方法
protected override bool ProcessCmdKey(ref Message msg,
Keys keyData)
{
if (keyData == (Keys.Escape))
{
this.Close();
}
return base.ProcessCmdKey(ref msg, keyData);
}
10.DataTable Set
PrimaryKey:
if (dt.PrimaryKey == null || dt.PrimaryKey.Length == 0)
{
dt.PrimaryKey = new DataColumn[] { dt.Columns["PK_ColunmeName"] };
}
DataRow myDataRow= myDataSet.Tables["TableName"].Rows.Find("primary key data");
11.Find
the ContextMenuStrip(Contrl) ‘s ParentControl
stringcontrol_name= (senderasContextMenuStrip).SourceControl.Name;
摘录C#代码片段的更多相关文章
- sublimetext3中保存代码片段
在日常的开发工作中,不断重复上一次敲过的代码,有时确实感到伐木累."蓝瘦"(难受)."香菇"(想哭),大概表达的也是这样的心境吧!:grinning: 所以,在 ...
- Code Snippets 代码片段
Code Snippets 代码片段 1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...
- 10个 jQuery 代码片段,可以帮你快速开发。
转载自:http://mp.weixin.qq.com/s/mMstI10vqwu8PvUwlLborw 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而 ...
- 代码片段添加智能提示,打造一款人见人爱的ORM框架
SqlSugar ORM优点: 1.高性能,达到原生最高水准,比SqlHelper性能要高,比Dapper快30% 比EF快50% 2.支持多种数据库 ,sql版本更新最快,其它会定期更新,可以在多种 ...
- js/jquery/html前端开发常用到代码片段
1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...
- Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!
使用Code Snippet简化Coding 在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for.foreach ? 在编写这两个循环语句的时候,你是一个字符 ...
- Visual Studio 的代码片段工具
当安装完Visual Studio之后,会有附带一些原生的代码片段文件(*.snippet),对于vs2013参考目录如下: X:\Program Files (x86)\Microsoft Visu ...
- sublime代码片段
创建方法:Tools > New Snippet 这时你会看到如下示例代码: <snippet> <content><![CDATA[ Hello, ${ ...
- sublime 添加代码片段(snippets)
1.工具-新代码片段(Tools -> New Snippet) 2. <snippet> <content><![CDATA[ if(\$rs && ...
随机推荐
- uva10883_Supermean_数学
题目大意:给出n个数,每相邻两个数求平均数,得到n-1个数,再求平均数,得到n-2个数,......一直到最后一个数,输出这个数. 题目很简单,就是中间数据会比较大有点复杂,超过double的范围,而 ...
- Maven依赖范围<scope>
1.Maven因为执行一系列编译.测试和部署运行等操作,在不同的操作下使用的classpath不同,依赖范围就是用来控制依赖与三种 classpath(编译classpath.测试classpath. ...
- 安装metasploitable3的经验总结
一个月没有写学习记录了,但是这一个月一直没闲着,抽空写写自己装metasploitable3的经验教训(提示:只要你的环境配置没错,步骤没错,多试几次就会成功了,我总共测试了15次,,短的耗时30分钟 ...
- Django中信号signals简单使用
在平时的开发过程中,我们会遇到一些特殊的应用场景,如果你想要在执行某种操作之前或者之后你能够得到通知,并对其进行一些你想要的操作时,你就可以用Django中的信号(signals).Django 提供 ...
- spring 5.x 系列第8篇 —— 整合Redis客户端 Jedis和Redisson (代码配置方式)
文章目录 一.说明 1.1 Redis 客户端说明 1.2 Redis可视化软件 1.3 项目结构说明 1.3 依赖说明 二.spring 整合 jedis 2.1 新建基本配置文件和其映射类 2.2 ...
- 【转】JDK 内存参数含义
Eclipse崩溃,错误提示: MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) ...
- (一)C#编程基础复习——开启编程之旅
回想当年学习编程,刚开始学习是非常艰苦的,可能是因为文科生原因,刚开始接触工科类的知识不是很擅长,上去大学第一年基本没有好好学习编程,入门C#编程基础一窍不通,也许那时年少无知,第二学期开始奋发图强, ...
- 每天学点node系列-http
任何可以使用JavaScript来编写的应用,最终会由JavaScript编写.--Atwood's Law http模块概览 http模块主要用于创建http server服务,并且 支持更多特性 ...
- hihoCoder 1308:搜索二·骑士问题(BFS预处理)
题目链接 题意 中文题意. 思路 对于每一个骑士,可以先预处理出到达地图上某个点的需要走的步数,然后最后暴力枚举地图上每一个点,让三个骑士走过的距离之和最小即可. #include <bits/ ...
- POJ 2778:DNA Sequence(AC自动机构造矩阵)
http://poj.org/problem?id=2778 题意:有m个病毒DNA,问构造一个长度为n的不带病毒DNA的字符串可以有多少种. 思路:看到这题有点懵,想了挺久题解的思路. 使用AC自动 ...