C# 中panel的mousewheel鼠标滚轮事件触发 – 为程序员服务

如果将窗体或容器控件(如Panel控件)的AutoScroll属性设置为True时,那么当窗体或Panel容不下其中的子控件时就会出现 滚动条,通过移动滚动条可以上下显示出窗体或Panel中的全部内容。但是默认情况下滚动条的移动只能通过鼠标直接拖动滚动条来实现,而不能通过鼠标的滚 轮来实现上下移动,因此需要手动添加代码来实现这个功能。

滚动鼠标的滚轮,触发的是窗体或控件上的 MouseWheel 事件。但是在VS.net2005中,窗体和控件的事件列表中却不包含 MouseWheel 事件,因此关于这个事件的全部代码必须手动输入。这里以添加一个Panel的 MouseWheel 事件为例。首先在窗体的构造函数或InitializeComponent函数中,添加对MouseWheel 事件的订阅: 继续阅读“C# 中panel的mousewheel鼠标滚轮事件触发 – 为程序员服务”

C# 中用 PadLeft、PadRight 补足位数 – 牵牛望岳 – 博客园

有时候,为了让格式统一,当位数不足时,给予补足。比如:2008-01-01 13:42:05,这其中就对月、日、秒进行了补位。

在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位。

PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddingChar 补足 totalWidth 长度

PadRight(int totalWidth, char paddingChar) //在字符串右边用 paddingChar 补足 totalWidth 长度

示例:

h = h.PadLeft(2, ‘0’);

注意第二个参数为 char 类型,所以用单引号,也可以用 Convert.ToChar(string value) 把字符串转换成 char 类型。如果字符串长度大于 1,则使用 str.ToCharArray()[index]。

注意事项,和php不一样,只能采用单字符进行填充,所以必须是单引号,c#中单引号代表char字符,双引号代表字符串。

来源URL:http://www.cnblogs.com/davyli/archive/2009/04/16/1437368.html

C#:解决Winform中鼠标滚轮无法操作Panel滚动条的问题 – Tsybius2014 – 开源中国社区

最近发现一个现象,就是Winform工程中Panel容器右侧的滚动条,经常无法被鼠标滚轮触发。今天我研究了下这个问题。

首先我发现鼠标滚轮有时候是可以滑动Panel右侧的滚动条,但有的时候不能。经过测试,发现只有在Panel或Panel内控件获取焦点的时候,鼠标的滚轮才能操作Panel的滚动条。所以,当焦点在指定带滚动条的Panel外时,如果鼠标点击Panel内部的TextBox等可以获取焦点的控件时,Panel右侧的滚动条是受控的。如果点击Panel的空白部分、Panel下无法获取焦点的控件(如Label)、Panel下的子容器(Panel中的Panel、GroupBox等),Panel的滚动条就不会受鼠标滚轮控制。

为此我写了一个工具类,用于处理本问题: 继续阅读“C#:解决Winform中鼠标滚轮无法操作Panel滚动条的问题 – Tsybius2014 – 开源中国社区”

C# 嵌入数据库SQLite的简单用法 – 开源中国社区

引用百度百科的说法:SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。具体下载地址:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

继续阅读“C# 嵌入数据库SQLite的简单用法 – 开源中国社区”

C#时间戳转换 – 清流鱼 – 博客园

基于.net的应用中,不会用到unix时间戳,当.net应用与其它应用(eg: php, java)交互时,就会用到unix时间戳。在项目中曾经用到过一次,用户通过web app提交数据并分享给安卓app时,如果时间间隔在一分钟内,数据才能算是真实有效,否则不予处理。还有asp.net开发中,经常会需要将对象序列化成json数据,js拼接成html,日期对象就会被序列化成如下形式:{“date”:”\/Date(1349839763373)\/”},js还无法识别,这时就不妨考虑下将日期转换成unix时间戳。

以下是C#下的日期与unix时间戳的相互转换: 继续阅读“C#时间戳转换 – 清流鱼 – 博客园”

C# 时间函数相减 – 饼子天空 – 博客园

1:第一种方式:

?
1
2
3
4
5
6
string firstDate = "20140226120201";
string secondDate = "20140225115401";
DateTime firstDateTemp = DateTime.ParseExact(firstDate, "yyyyMMddHHmmss", new System.Globalization.CultureInfo("zh-CN", true));
DateTime secondDateTemp = DateTime.ParseExact(secondDate, "yyyyMMddHHmmss", new System.Globalization.CultureInfo("zh-CN", true));           
TimeSpan span = firstDateTemp.Subtract(secondDateTemp);
然后,如果相差一天,那么span.Days=1,如果是一年,那么span.Days=365<br>             span.Hours, span.Minutes就不举例了

2:第二种方式:

?
1
2
3
DateTime t1 = DateTime.Parse("2007-1-1 05:32:22");
    DateTime t2 = DateTime.Parse("2007-1-1 05:31:22");
    TimeSpan span = t1.Subtract(t2);

来源URL:http://www.cnblogs.com/bingzisky/p/3568867.html

扩展方法必须在非泛型静态类中定义_黄枫谷_新浪博客

扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。

扩展方法的要求如下: 继续阅读“扩展方法必须在非泛型静态类中定义_黄枫谷_新浪博客”

C#中Array与ArrayList用法及转换 – 不远道人 – 博客园

一,C# array数组的用法范例:
type[]   typename=new type[size];

如int[] a=new int[2];string[] str=new string[5];

实事上我们平常是用int[],string[]…的,此时我们已经创建一个Array数组,只不过我们平常没有这种意识而已.

(1):type数据类型不能缺;且要统一,而不能是如 int[] a=new Array[];

(2):数组的大小size不能缺,否则c#认为是出错的,因为数组是一段固定长度的内存;

(3):右边是一个中括号[],而不是() 继续阅读“C#中Array与ArrayList用法及转换 – 不远道人 – 博客园”

C#中数组、ArrayList和List三者的区别 – 张信秀—航帆远洋 – 博客频道 – CSDN.NET

C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢。

数组

    数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。 继续阅读“C#中数组、ArrayList和List三者的区别 – 张信秀—航帆远洋 – 博客频道 – CSDN.NET”

C#去除HTML标签 – Qi Fei – 博客园

在做网站的时候,用到了去除html标签的问题,用正则匹配到html标签,然后replace即可。

<span style="color: blue;">public static string </span>ReplaceHtmlTag(<span style="color: blue;">string </span>html, <span style="color: blue;">int </span>length = 0)

{

string strText = System.Text.RegularExpressions.Regex.Replace(html, “<[^>]+>”, “”);

strText = System.Text.RegularExpressions.Regex.Replace(strText, “&[^;]+;”, “”);

if (length > 0 && strText.Length > length)

return strText.Substring(0, length);

return strText;

}

这个方法可以实现去除html标签的功能。

Length参数可以根据传入值取固定长度的值。用于生成文章摘要比较方便。

来源URL:http://www.cnblogs.com/youring2/archive/2013/04/03/2997826.html

C#中PictureBox控件获取网络图片并显示出来 – 花花的日志 – 网易博客

 //在WinForm桌面应用程序中的PictureBox图片框中放入一张图片,
//而这张图片的路径不是本地的路径,而是网络上的,
//例如:http://www.baidu.com/img/baidu_logo.gif这张网络图片我要放到PictureBox中去。
//获取网络图片
Image O_Image = Image.FromStream(WebRequest.Create(“http://www.baidu.com/img/baidu_logo.gif“).GetResponse().GetResponseStream());

    //将获取的图片赋给图片框

   pictureBox1.Image = O_Image;

来源URL:http://jinhua.he.blog.163.com/blog/static/11162892120123710632372/

C# ListView用法详解 – esion1900 – 博客园

一、ListView类

1、常用的基本属性:

(1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Details视图该属性才有意义。

(2) GridLines:设置行和列之间是否显示网格线。(默认为false)提示:只有在Details视图该属性才有意义。

(3)AllowColumnReorder:设置是否可拖动列标头来对改变列的顺序。(默认为false)提示:只有在Details视图该属性才有意义。 继续阅读“C# ListView用法详解 – esion1900 – 博客园”

C#窗体控件简介ListBox – CRM 软件 – 博客园

ListBox 控件又称列表框,它显示一个项目列表供用户选择。在列表框中,用户
一次可以选择一项,也可以选择多项。
1、常用属性:
(1) Items属性: 用于存放列表框中的列表项,
是一个集合。通过该属性,可以添加列表项、
移除列表项和获得列表项的数目。 继续阅读“C#窗体控件简介ListBox – CRM 软件 – 博客园”

C# 正则表达式 使用介绍_正则表达式_脚本之家

最近写爬虫时需要用到正则表达式,有段时间没有使用正则表达式现在渐渐感觉有些淡忘,现在使用还需要去查询一些资料

为了避免以后这样的情况,在此记录下正则表达式的一些基本使用方法附带小的实例。让以后在使用时能一目了然知道他的使用,为开发节约时间,同时也分享给大家 继续阅读“C# 正则表达式 使用介绍_正则表达式_脚本之家”