wince6.0的C#调试心得(一)
来源:互联网 发布:软件无法放大缩小 编辑:程序博客网 时间:2024/05/17 23:16
最近我使用VS2005+Wince6.0开发了一个Wince Application程序。
1.在调试程序时,虽然在程序中加了断点,但是提示“当前不会命中断点 尚未加载指定的模块”。经过查找资料,知道是由于.net Compact Framework 版本不兼容的问题。在添加删除程序中,看到自己装的是.net Compact Framework2.0 ,于是根据网上的资料,我在MSDN上下载了一个新版的.net Compact Framework,它的名字是.NET CF v2.0sp1,即带SP1补丁的.net Compact Framework, 它的下载地址是:http://www.microsoft.com/downloads/details.aspx?familyid=0c1b0a88-59e2-4eba-a70e-4cd851c5fcc4&displaylang=en 。下载完毕之后,安装时会提示另外一个版本的改程序已经安装。于是,我先卸载.net Compact Framework2.0,然后再安装下载的新程序。安装完毕以后,就可以正常调试程序了。
2.对于GPRS发送汉字到服务器,首先需要选择GPRS的数据模式,AT%IOMODE=1,1,0(注意这里的第一个1不能是0,0表示发送ASCII码,而汉字的unicode码会超过128??,具体参见华为EM310AT命令手册),其次对汉字进行GBK编码,具体函数如下,得到的s1即为最终的需要用AT%IPSEND="s1“\n的数据
string sendmessage = "123我爱你";
byte[] gbk = Encoding.GetEncoding("GBK").GetBytes(sendmessage);
string s1 = "";
foreach (byte p in gbk)
{
s1 += string.Format("{0:X2}", p);
}
3.C# Winform程序退出方法
1.this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
2.Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
4.System.Environment.Exit(0); 这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。
4.C#中Split用法
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
2)、用多个字符来分隔:
string str="aaajbbbscccjdddseee";
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
ddd
eee
3)、用单个字符来分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
这是一个具有语法错误的语句,Split 的 separator 参数应该是char[] 或 string[],不应是字符串。正确的示例:
char[] separator = { 'o' };
string[] arr = str.Split(separator);
String.Split 方法有6个重载函数:
3) public string[] Split(char[] separator, StringSplitOptions options)
4) public string[] Split(string[] separator, StringSplitOptions options)
5) public string[] Split(char[] separator, int count, StringSplitOptions options)
6) public string[] Split(string[] separator, int count, StringSplitOptions options)
下边我们通过一些实例来说明下怎么使用(以下string words = "1,2.3,,4";):
1. public string[] Split(params char[] separator)
string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}
2. public string[] Split(char[] separator, int count)ITPUB个人空间,n:H!C0M/S3U\u0002P
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}
3. public string[] Split(char[] separator, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
4. public string[] Split(string[] separator, StringSplitOptions options)
\u0002w1I+Ch%^\u0017}0string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
5. public string[] Split(char[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
6. public string[] Split(string[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
5.C#的Win Form的控件基本使用方法
a.取消窗体右上角的最下化、最大化和×按钮的方法依次在窗体的属性栏的窗口样式里面的MinimizeBox、MaxmizeBox和ControlBox属性是false还是true,如果不需要标题栏,在属性栏的外观的FormBorderStyle属性设置为None即可
b.添加图片按钮——picturebox,再加入图片即可,但这样得到的图片按钮按下去没有按下去的感觉。
c.复制WinForm窗体——直接复制解决方案里面的cs文件再在解决方案名上点击右键点击粘贴即可复制得到一个副本,更改相应的类名,构造函数名即可。
d.TextBox多行显示——TextBox的multiLine设置为ture,如果需要滚动视图可以设置ScrollBars。
6.复制内容到剪切板
if(textBox1.SelectedText != ”")
{ Clipboard.SetDataObject(textBox1.SelectedText);
}
7.C#里调用外部应用程序:
System.Diagnostics.Process.Start("完整文件名");
附:《华为EM310AT命令手册》部分截图
- wince6.0的C#调试心得(一)
- S3C2410-WinCE6.0-OAL的快速调试
- S3C2410-WinCE6.0-OAL的快速调试
- S3C2410-WinCE6.0-OAL的快速调试
- WinCE6.0 KITL调试
- WinCE6.0 KITL调试
- 学习HLSL以来的一点心得(一):调试
- 基于wince6.0的流媒体播放《一》
- div css 网页调试心得(一)
- Android调试心得 一
- 电容屏调试和wince6.0的多点触摸。
- wince6.0,vc++调试中遇到的错误与解决
- wince6.0 vs2005下不能断点调试的问题
- C# WinCE下播放*.wav,*.mp3 详解(适用WinCE6.0和以前的所有版本)
- WinCE6.0BSP移植(一)
- WinCE6.0BSP移植(一)
- WinCE6.0BSP移植(一)
- C# Winodws Service调试心得
- 有序顺序表的插入实现
- QT学后感
- 最短路&差分约束题集
- 什么是Oracle的物化视图
- 多个Ztree异步加载问题
- wince6.0的C#调试心得(一)
- Android 网络编程: SOCKET的简单使用。
- 跨浏览器兼容性检查的最佳工具
- 缅怀一下我曾经的项目—I3000
- c# 工具栏与状态栏
- 【基础语言学习】C#中的可空类型运算(Nullable<T>)------T?
- Transaction Quantity to Primary Quantity
- 人民币连触“跌停” 周二央行大幅上调美元/人民币中间价
- 使用gravatar创建自己的动态照片登录框