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#代码片段的更多相关文章

  1. sublimetext3中保存代码片段

    在日常的开发工作中,不断重复上一次敲过的代码,有时确实感到伐木累."蓝瘦"(难受)."香菇"(想哭),大概表达的也是这样的心境吧!:grinning: 所以,在 ...

  2. Code Snippets 代码片段

    Code Snippets 代码片段       1.Title : 代码片段的标题 2.Summary : 代码片段的描述文字 3.Platform : 可以使用代码片段的平台,有IOS/OS X/ ...

  3. 10个 jQuery 代码片段,可以帮你快速开发。

    转载自:http://mp.weixin.qq.com/s/mMstI10vqwu8PvUwlLborw 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而 ...

  4. 代码片段添加智能提示,打造一款人见人爱的ORM框架

    SqlSugar ORM优点: 1.高性能,达到原生最高水准,比SqlHelper性能要高,比Dapper快30% 比EF快50% 2.支持多种数据库 ,sql版本更新最快,其它会定期更新,可以在多种 ...

  5. js/jquery/html前端开发常用到代码片段

    1.IE条件注释 条件注释简介 IE中的条件注释(Conditional comments)对IE的版本和IE非IE有优秀的区分能力,是WEB设计中常用的hack方法.条件注释只能用于IE5以上,IE ...

  6. Visual Studio 如何使用代码片段Code Snippet提高编程速度!!!

      使用Code Snippet简化Coding 在开发的项目的时候,你是否经常遇到需要重复编写一些类似的代码,比如是否经常会使用 for.foreach ? 在编写这两个循环语句的时候,你是一个字符 ...

  7. Visual Studio 的代码片段工具

    当安装完Visual Studio之后,会有附带一些原生的代码片段文件(*.snippet),对于vs2013参考目录如下: X:\Program Files (x86)\Microsoft Visu ...

  8. sublime代码片段

    创建方法:Tools > New Snippet 这时你会看到如下示例代码: <snippet>      <content><![CDATA[ Hello, ${ ...

  9. sublime 添加代码片段(snippets)

    1.工具-新代码片段(Tools -> New Snippet) 2. <snippet> <content><![CDATA[ if(\$rs && ...

随机推荐

  1. C# — WinForm TCP连接IPv4和IPv6的判断

    大家都知道, XP系统默认使用的是IPv4格式的IP地址, 而Win7系统默认使用的是IPv6格式的IP地址. 所以有些关于TCP连接的WinForm系统,在XP下可能运行正常,但在Win7下却不能运 ...

  2. vue路由传参query和params的区别(详解!)

    1.query使用path和name传参都可以,而params只能使用name传参. query传参: 页面: this.$router.push({ path:'/city',name:'City' ...

  3. 从0到1构建网易云信IM私有化

    本文来源于MOT技术管理课堂杭州站演讲实录,全文 2410 字,阅读约需 5分钟.网易云信资深研发工程师张翱从私有化面临的问题及需求说起,分享了网易云信IM私有化的解决方案和具体实践. 想要阅读更多技 ...

  4. C++标准库(体系结构与内核分析)(侯捷第二讲)

    一.OOP和GP的区别(video7) OOP:面向对象编程(Object-Oriented programming) GP:泛化编程(Generic programming) 对于OOP来说,我们要 ...

  5. 纯异步nodejs文件夹(目录)复制

    思路: 1.callback 驱动 2.递归所有需要复制文件 3.在一定阀值下并发复制文件 4.运行需要安装 async.js     npm install async 代码如下: var asyn ...

  6. 使用git提交时报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large

    Delta compression using up to 4 threads.Compressing objects: 100% (2364/2364), done.Writing objects: ...

  7. jmeter性能测试前及测试后

    压测前:           1.压力测试两种场景:                    1)单场景,压测单个接口. 2)混合场景,多个接口关联压测. 2.压测时间:                ...

  8. java中Object源码理解

    java阅读笔记 1.object getClass() 返回是的此object运行时的类,返回的对象是被object锁定的对象,调用这个方法不需要进行强转 public static void ma ...

  9. SpringCloud系列——限流、熔断、降级

    前言 分布式环境下,服务直接相互调用,一个复杂的业务可能要调用多个服务,例如A -> B -> C -> D,当某个服务出现异常(调用超时.调用失败等)将导致整个流程阻塞崩溃,严重的 ...

  10. Git使用小技巧之挑拣合并

    先想想一个情况,现在我们有一个功能急需要发布到线上,但是这个功能相关的代码所在的测试分(test)支有很多不应该发布的代码,那么这个时候我们就需要将与这个代码相关的提交选择性的合并到master上并发 ...