一、DialogResult 枚举
指定标识符以指示对话框的返回值。
命名空间: System.Windows.Forms
OK 对话框的返回值是 OK(通常从标签为“确定”的按钮发送)。
Cancel 对话框的返回值是 Cancel(通常从标签为“取消”的按钮发送)。
Abort 对话框的返回值是 Abort(通常从标签为“中止”的按钮发送)。
Retry 对话框的返回值是 Retry(通常从标签为“重试”的按钮发送)。
二、HttpWebRequest
1)HttpWebRequest.Address 属性
获取“实际 ”响应请求的 Internet 资源的统一资源标识符 (URI)。
在请求完成期间发生的任何重定向之后,Address 属性被设置为该 URI。原始请求的 URI 保留在 RequestUri属性中。
例:bool hasChanged = (req.RequestUri != req.Address);代码示例检查 HttpWebRequest 对象 req 是否已重定向到另一个 位置以实现请求:如果重定向了请求,则将 hasChanged 变量的值设置为 true;否则,将 hasChanged 设置为 false。
2)http标头
HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说Content-Length必须出现。
三、WebClient
1)WebClient类提供用于将数据发送到由 URI 标识的资源及从这样的资源接收数据的常用方法。
2)WebClient .DownloadFile 方法 (Uri, String)将具有指定 URI 的资源下载到本地文件。此方法在下载资源时阻止。若要下载资源并在等待服务器响应的同时继续执行,请使用 DownloadFileAsync 方法之一。
3)WebClient .OpenRead 方法 (Uri)
为从具有Uri指定的URI的资源下载的数据打开一个可读的流 。
命名空间: System.Net
以带有颜色区分的格式查看复制到剪贴板打印Public Function OpenRead ( _
public Stream OpenRead(Uri address) 虽然是Stream类型但属于WebClient类的方法,该方法就是打开一个可读流,因此是Stream类型。
四、StreamReader
1)实现一个 TextReader(表示可读取连续字符系列的读取器),使其以“一种特定的编码”(这是和Stream不同之处)从字节流中读取字符。
2)Read方法
读取输入流中的下一个字符并使该字符的位置提升一个字符。
五、Exception .ToString 方法
ToString 的默认实现获取引发当前异常的类名、消息、对内部异常调用 ToString 的结果和调用 Environment .StackTrace 的结果。
例如:
using namespace System;
public ref class MyClass{};
int main()
{
MyClass^ my = gcnew MyClass;
String^ s = "sometext";
try
{
int i = s->CompareTo( my );
}
catch ( Exception^ e )
{
Console::WriteLine( "Error: {0}", e->ToString() );
}
}
此代码的输出如下:
以带有颜色区分的格式查看复制到剪贴板打印Error: System.ArgumentException: Object must be of type String. at System.String.CompareTo(Object value) at ArgExceptionExample.Main()
六、FileStream类
1)命名空间:System.IO
公开"以文件为主"(其实图片的保存形式也是FileStream流型)的 Stream,既支持同步读写操作,也支持异步读写操作。
2)构造函数
public FileStream(
IntPtr handle,
FileAccess access
)
参数
handle
类型: System .IntPtr
当前 FileStream 对象将封装的文件的文件句柄。
access
类型: System.IO .FileAccess
一个常数,用于设置 FileStream 对象的 CanRead 和 CanWrite 属性。
3)Write方法
使用从缓冲区读取的数据将字节块写入该流。(重写 Stream .Write( array<Byte []()>[], Int32, Int32) 。)
public override void Write(
byte[] array,
int offset,
int count
)
参数
array
类型: array<System ..::.Byte []()>[]
包含要写入该流的数据的缓冲区。
offset
类型: System ..::.Int32
array 中的从零开始的字节偏移量,从此处开始将字节复制到当前流。
count
类型: System ..::.Int32
要写入当前流的字节数。
七、StatusBar(一般可以制作状态条、进度条)
命名空间:
System.Windows.Controls.Primitives
StatusBar 是位于窗口底部的水平区域,应用程序可在其中显示状态信息。
八、Byte 结构(字节类型)
表示一个 8 位无符号整数。
九、Stream类
1)命名空间: System.IO
提供字节序列的一般视图。
2)Read方法
当在派生类中重写时,从当前流读取字节序列,并将此流中的位置提升读取的字节数。
public abstract int Read(
byte[] buffer,
int offset,
int count
)
参数
buffer
类型: array<System ..::.Byte []()>[]
字节数组。
此方法返回时,该缓冲区包含指定的字符数组,该数组的 offset 和 ( offset + count -1) 之间的值由从当前源中读取的字节替换。
offset
类型: System ..::.Int32
buffer 中的从零开始的字节偏移量,从此处开始存储从当前流中读取的数据。
count
类型: System ..::.Int32
要从当前流中最多读取的字节数。
返回值
类型: System ..::.Int32
读入缓冲区中的总字节数。
如果当前可用的字节数没有请求的字节数那么多,则总字节数可能小于请求的字节数;如果已到达流的末尾,则为零 (0)。
十、c#运行错误
1)错误 1 无法将文件“obj\Debug\download.exe”复制到“bin\Debug\download.exe”。文件“bin\Debug\download.exe”正由另一进程使用,因此该进程无法访问该文件。一般此错误是由你没有关闭运行的exe文件。vs2008中没有vs2010中的运行了会禁止再次进行新的调试除非停止调试。
2)错误 2 关于打开一个sln解决方案,提示:无法读取项目文件"***.csproj".系统找不到指定文件.的搜索
打开一个sln解决方案,提示:无法读取项目文件"***.csproj".系统找不到指定文件. 这是什么错误呢?我看了下路径都是对的. 这是为什么呢?(一般来说你没安装。net Framwork或者IIS没装Web服务造成的)
直接点"***.csproj"打开,然后再另存个新的sln 有可能是你的WebService没设好。或者是你拷贝了人家的Proj,IIS里没有追加Web服务 建议你自己先建立一个IIS服务 如果是B/S的解决方案,还要注意.sln文件的内容,可以用文本编辑器打开该文件,找到Web项目所在的URL,看是否对应,假设此处不能对应的话,经常会出现刚才你出现的问题。
3)有时打开视图设计器时会提示:已有一个项目打开该文档了
解决方案:把代码编辑环境关闭,重新打开试图设计模式。
十一、BackgroundWorker 类
注:(在单独的线程上执行操作。)
命名空间: System.ComponentModel
程序集: System(在 System.dll 中)