摘要: public class StringList { private int m_Capacity; private string[] m_Strings; private int m_Size; /// <summary> /// 数据个数属性 /// </summary> public int Count { get { return m_Size; } } /// <summary> /// 缓存大小属性 /// </summary> public int Capacity { get { return m_Capacity; } set { 阅读全文
posted @ 2011-03-18 11:44 许明吉博客 阅读(2514) 评论(0) 推荐(0) 编辑
摘要: 很多专业软件在启动前都会显示一个说明该软件信息或用途的窗口,有的则是一个漂亮的启动界面,如Adobe公司的Acrobat。该窗口使软件显得更加专业。本例将实现一个半透明的渐显窗体,运行本软件会显示一个启动画面,并且画面会将完全透明慢慢到半透明的效果显示在用户面前。效果如图1.29所示。实现过程(1)创建一个项目,将其命名为Ex01_29,默认窗体为Form1。(2)在Form1窗体中设置背景图片,添加Timer控件用来触发渐变事件。(3)设置Timer控件的Enable属性为True,设置Interval属性为1000。(4)主要程序代码。 private void timer1_Tick(o 阅读全文
posted @ 2011-03-18 10:18 许明吉博客 阅读(3460) 评论(0) 推荐(0) 编辑
摘要: 最近用C#做mobile,但发现在windows mobile中可用的控件太少,只好自己定义了,下面以自定义一个button为例来说说C#中自定义控件如何做. (先说明一下,我用的是.net2005) 一.新建一个控件库项目. 二.想好要定义控件的需求:能设定字体,设定背景色和前景色,字符对齐方式,有一个click事件,就这么简单. 三.定义一个枚举类型,来设定对齐方式:public enum ButtonTextAlignment { Left=0, Middle, Right } 四.定义一些内部变量: private Color mBackColor = Color.White; //背 阅读全文
posted @ 2011-03-17 10:28 许明吉博客 阅读(6630) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍 .Net 框架的基本绘图技术。通过简要的介绍和示例程序来探讨绘图技术的优势、劣势以及其它相关注意事项。 简介 幸运的是当编写一个典型的Windows 窗体程序时,窗体和控件的绘制、效果等操作是不需要特别加以考虑的。这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如。在这里经常会用到的,且需要引起一点注意的就是控件效果。游戏,自定义图表控件以及屏幕保护程序的编写会需要程序员额外撰写用于响应 Paint 事 阅读全文
posted @ 2011-03-16 16:13 许明吉博客 阅读(770) 评论(0) 推荐(0) 编辑
摘要: GDI+的双缓冲问题我想有很多搞图形方面的朋友都会用到双缓冲技术的时候,而且有的时候她的确是个头疼的问题。最近我也要用双缓冲技术,程序怎么调试都不合适,当要对图形进行移动时,总是会出现闪烁抖动。在网上找了些资料,说得都不清不楚的,折腾了一晚上也没弄出来。第二天觉定自己研究一下。现在把自己的一些想法拿出来跟大家分享一下。双缓冲的基本原理:(转)一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的。.net 1.1中,使用:this.SetStyle(ControlStyles.DoubleBuffer, true);.net 2.0中,使用:this.SetStyl 阅读全文
posted @ 2011-03-16 16:10 许明吉博客 阅读(4273) 评论(1) 推荐(3) 编辑
摘要: C#Invalidate();DelphiRepaint; 阅读全文
posted @ 2011-03-16 15:34 许明吉博客 阅读(2499) 评论(0) 推荐(0) 编辑
摘要: 复制:private void button1_Click(object sender, System.EventArgs e) { // Takes the selected text from a text box and puts it on the clipboard. if(textBox1.SelectedText != ”") Clipboard.SetDataObject(textBox1.SelectedText); }粘贴:private void button2_Click(object sender, System.EventArgs e) { // Decl 阅读全文
posted @ 2011-03-15 15:20 许明吉博客 阅读(385) 评论(0) 推荐(0) 编辑
摘要: C#合并数组 private static char[] Str = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v' 阅读全文
posted @ 2011-03-15 11:41 许明吉博客 阅读(965) 评论(0) 推荐(0) 编辑
摘要: protected void Page_Load(object sender, EventArgs e) { string s1 = "今天天气很晴朗很晴朗";//原始字符串 string split = "晴朗";//要合并的 int i = s1.IndexOf(split);//获取第一索引个要合并字符串的 s1=s1.Replace(split, "");//替换为空 s1 = s1.Insert(i, split);//在一个处插入合并字符串 Page.RegisterStartupScript("", 阅读全文
posted @ 2011-03-15 11:36 许明吉博客 阅读(20933) 评论(0) 推荐(1) 编辑
摘要: string[] hidenumber = HiddenField1.Value.Split(','); string[] phonenumber = txtPhoneNum.Text.Trim().Split('\r'); string[] moble = new string[hidenumber.Length + phonenumber.Length]; int index = 0; for (int i = 0; i < hidenumber.Length; i++) { moble[index] = hidenumber[i]; index++; 阅读全文
posted @ 2011-03-15 10:24 许明吉博客 阅读(6538) 评论(0) 推荐(0) 编辑