Xproer UI类库构架 Xproer

运行平台:Visual Studio 6.0

编码格式:多字符集

创建时间:2009-6-8

1        Xproer.System命名空间

系统功能命名空间

1.1       Convert

提供常用字符转换功能

2        Xproer.IO命名空间

IO命名空间

2.1       File

提供常用文件访问功能,例如快速获取文件大小,判断某个文件是否可访问,判断某个文件是否存在。

2.2       Directory

提供常用目录访问功能,例如获取某个文件夹类所有文件,获取某个文件夹类所有子目录

3        Xproer.Drawing

GDIGDI+图形图像功能命名空间

4        Xproer.Net命名空间

Xproer.Net 命名空间为当前网络上使用的多种协议提供了简单的编程接口。WebRequest WebResponse 类形成了所谓的可插接式协议的基础,可插接式协议是网络服务的一种实现,它使您能够开发出使用 Internet 资源的应用程序,而不必考虑各种不同协议的具体细节。

4.1       HttpWebRequest

提供 WebRequest 类的 HTTP 特定的实现。

 

名称

说明

Abort

已重写。 取消对 Internet 资源的请求。

AddRange

已重载。 向请求添加范围标头。

BeginGetRequestStream

已重写。 开始对用来写入数据的 Stream 对象的异步请求。

BeginGetResponse

已重写。 开始对 Internet 资源的异步请求。

Create 

已重载。 初始化新的 WebRequest。 (从 WebRequest 继承。)

CreateDefault 

为指定的 URI 方案初始化新的 WebRequest 实例。 (从 WebRequest 继承。)

EndGetRequestStream

已重写。 结束对用于写入数据的 Stream 对象的异步请求。

EndGetResponse

已重写。 结束对 Internet 资源的异步请求。

GetLifetimeService 

检索控制此实例的生存期策略的当前生存期服务对象。 (从 MarshalByRefObject 继承。)

GetRequestStream

已重写。 获取用于写入请求数据的 Stream 对象。

GetResponse

已重写。 返回来自 Internet 资源的响应。

GetSystemWebProxy 

返回当前模拟用户的 Internet Explorer 设置中配置的代理。 (从 WebRequest 继承。)

RegisterPrefix 

为指定的 URI 注册 WebRequest 子代。 (从 WebRequest 继承。)

4.2       WebRequest

发出对统一资源标识符 (URI) 的请求。这是一个 abstract 类。

WebRequest .NET Framework 的请求/响应模型的 abstract 基类,用于访问 Internet 数据。使用该请求/响应模型的应用程序可以用协议不可知的方式从 Internet 请求数据,在这种方式下,应用程序处理 WebRequest 类的实例,而协议特定的子类则执行请求的具体细节。

 

请求从应用程序发送到某个特定的 URI,如服务器上的网页。URI 从一个为应用程序注册的 WebRequest 子代列表中确定要创建的适当子类。注册 WebRequest 子代通常是为了处理某个特定的协议(如 HTTP FTP),但是也可以注册它以处理对特定服务器或服务器上的路径的请求。

 

如果在访问 Internet 资源时发生错误,则 WebRequest 类将引发 WebExceptionWebException.Status 属性是 WebExceptionStatus 值之一,它指示错误源。当 WebException.Status WebExceptionStatus.ProtocolError 时,Response 属性包含从 Internet 资源接收的 WebResponse

 

因为 WebRequest 类是一个 abstract 类,所以 WebRequest 实例在运行时的实际行为由 System.Net.WebRequest.Create 方法所返回的子类确定。有关默认值和异常的更多信息,请参见有关子类的文档,如 HttpWebRequest FileWebRequest

4.3       NetWorkStream

提供用于网络访问的基础数据流。

5        Xproer.Net.Sockets命名空间

Socket进行封装

5.1       TcpClient

TCP 网络服务提供客户端连接。

5.2       UdpClient

提供用户数据报 (UDP) 网络服务。

5.3       TcpListener

TCP 网络客户端侦听连接。

备注:

TcpListener 类提供一些简单方法,用于在阻止同步模式下侦听和接受传入连接请求。可使用 TcpClient Socket 来连接 TcpListener。可使用 IPEndPoint、本地 IP 地址及端口号或者仅使用端口号,来创建 TcpListener。可以将本地 IP 地址指定为 Any,将本地端口号指定为 0(如果希望基础服务提供程序为您分配这些值)。如果您选择这样做,可在连接套接字后使用 LocalEndpoint 属性来标识已指定的信息。

Start 方法用来开始侦听传入的连接请求。Start 将对传入连接进行排队,直至您调用 Stop 方法或它已经完成 MaxConnections 排队为止。可使用 AcceptSocket AcceptTcpClient 从传入连接请求队列提取连接。这两种方法将阻止。如果要避免阻止,可首先使用 Pending 方法来确定队列中是否有可用的连接请求。

调用 Stop 方法来关闭 TcpListener

示例代码:

using System;

using System.IO;

using System.Net;

using System.Net.Sockets;

using System.Text;

 

class MyTcpListener

{

     public static void Main()

     {

         TcpListener server=null;  

         try

         {

              // Set the TcpListener on port 13000.

              Int32 port = 13000;

              IPAddress localAddr = IPAddress.Parse("127.0.0.1");

 

              // TcpListener server = new TcpListener(port);

              server = new TcpListener(localAddr, port);

 

              // Start listening for client requests.

              server.Start();

 

              // Buffer for reading data

              Byte[] bytes = new Byte[256];

              String data = null;

 

              // Enter the listening loop.

              while(true)

              {

                   Console.Write("Waiting for a connection... ");

 

                   // Perform a blocking call to accept requests.

                   // You could also user server.AcceptSocket() here.

                   TcpClient client = server.AcceptTcpClient();           

                   Console.WriteLine("Connected!");

 

                  data = null;

 

                   // Get a stream object for reading and writing

                   NetworkStream stream = client.GetStream();

 

                   int i;

 

                   // Loop to receive all the data sent by the client.

                   while((i = stream.Read(bytes, 0, bytes.Length))!=0)

                   {  

                       // Translate data bytes to a ASCII string.

                       data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);

                       Console.WriteLine("Received: {0}", data);

 

                       // Process the data sent by the client.

                       data = data.ToUpper();

 

                       byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);

 

                       // Send back a response.

                       stream.Write(msg, 0, msg.Length);

                       Console.WriteLine("Sent: {0}", data);           

                   }

 

                   // Shutdown and end connection

                   client.Close();

              }

         }

         catch(SocketException e)

         {

              Console.WriteLine("SocketException: {0}", e);

         }

         finally

         {

              // Stop listening for new clients.

              server.Stop();

         }

 

 

         Console.WriteLine("\nHit enter to continue...");

         Console.Read();

     }  

}

6        Xproer.UI命名空间

6.1       XPControl

所有控件基类

 

名称

说明

TextColor

字体颜色

BackColor

背景色

BorderStyle

边框样式

BorderWidth

边框宽度

Width

宽度

Height

高度

Left

左边距

Top

右边框

Controls

子控件集合

6.2       IControlEvent事件接口

公共事件:

 

名称

说明

OnClick

当用户单击控件时发生。

OnMouseMove

当用户在控件上移动鼠标时发生

 

7        Xproer.UI.Controls命名空间

提供基本界面元素控件

7.1       XPBorderStyle枚举

边框样式

边框样式

说明

NotSet

不设置边框样式。

None

无边框

Dotted

虚线边框。

Dashed

点划线边框。

Solid

实线边框。

RoundSolid

圆角实线边框

7.2       XPDialog

对话框类

继承:

CDialog

7.3       XPButton

按钮控件

继承:

CButton

7.4       XPButtonState枚举

按钮状态,使用命名空间模拟。

7.5       XPMenu

菜单

继承:

CMenu

7.6       XPMenuState枚举

菜单状态,使用命名空间模拟。

7.7       XPComboBox

下拉框类

继承:

CComboBox

7.8       XPComboItem

下接列表项

7.9       XPListBoxItem

列表项

7.10   XPTreeCtrl

树型控件

继承:

CTreeCtrl

7.11   XPTreeItem

树型控件项

7.12   XPCalendar

日历控件

7.13   XPCalendarItem

日历控件项

7.14   XPPanel

一个面板,用来显示文本或者图片

7.15   XPTabControl

管理相关的选项卡页集。

 

名称

说明

BringToFront 

将控件带到 Z 顺序的前面。 

Contains 

检索一个值,该值指示指定控件是否为一个控件的子控件。 

DeselectTab

已重载。 使指定的选项卡后面的选项卡成为当前选项卡。

DoDragDrop 

开始拖放操作。 

FindForm 

检索控件所在的窗体。 

Focus 

为控件设置输入焦点。 

FromChildHandle 

检索包含指定句柄的控件。 

FromHandle 

返回当前与指定句柄关联的控件。 

GetChildAtPoint 

已重载。 检索指定位置的子控件。 

GetContainerControl 

沿着控件的父控件链向上,返回下一个 ContainerControl 

GetControl

获取指定位置的 TabPage 控件。

GetNextControl 

按照子控件的 Tab 键顺序向前或向后检索下一个控件。 

GetPreferredSize 

检索可以容纳控件的矩形区域的大小。 

GetTabRect

返回该选项卡控件中的指定选项卡的边框。

Hide 

对用户隐藏控件。 

Invalidate 

已重载。 使控件的特定区域无效并向控件发送绘制消息。 

IsKeyLocked 

确定 Caps LockNum Lock Scroll Lock 键是否有效。 

Refresh 

强制控件使其工作区无效并立即重绘自己和任何子控件。 

ResetBackColor 

BackColor 属性重置为其默认值。 

ResetCursor 

Cursor 属性重置为其默认值。 

ResetFont 

Font 属性重置为其默认值。 

ResetForeColor 

ForeColor 属性重置为其默认值。 

Select 

已重载。 激活控件。 

SelectNextControl 

激活下一个控件。 

SelectTab

已重载。 使指定的选项卡成为当前选项卡。

SendToBack 

将控件发送到 Z 顺序的后面。 

SetBounds 

已重载。 设置控件的边界。 

Show 

向用户显示控件。 

Update 

使控件重绘其工作区内的无效区域。 

继承:

CTabControl

7.16   XPTabControlItem

Tab控件项

8        Xproer.DirectUI命名空间

DirectUI命名空间,使用了最新的UI构架

8.1       DUIButton

按钮

8.2       DUIPanel

表示一个区域

8.3       DUITabControl

选项卡控件

8.4       DUITabControlItem

选项卡项,表示一项选项卡

8.5       DUITabControlItemState枚举

选项卡状态,使用命名空间模拟

9        Xproer.UI.QQ命名空间

QQ风格控件命名空间

9.1       QQDialog

对话框类

继承:

Xproer.UI::XPDialog

9.2       QQButton

按钮控件

继承:

Xproer.UI::XPButton

9.3       QQMenu

菜单

继承:

Xproer.UI::XPMenu

9.4       QQComboBox

下拉框类

继承:

Xproer.UI::XPComboBox

9.5       QQTreeCtrl

树型控件

继承:

Xproer.UI::XPTreeCtrl

9.6       QQListBox

列表框

继承:

Xproer.UI::XPListBox

10  Xproer.UI.MSN命名空间

MSN风格控件命名空间

10.1   MSNDialog

对话框类

继承:

Xproer.UI::XPDialog

10.2   MSNButton

按钮控件

继承:

Xproer.UI::XPButton

10.3   MSNMenu

菜单

继承:

Xproer.UI::XPMenu

10.4   MSNComboBox

下拉框类

继承:

Xproer.UI::XPComboBox

10.5   MSNTreeCtrl

树型控件

继承:

Xproer.UI::XPTreeCtrl

10.6   MSNListBox

普通列表类

继承:

Xproer.UI::XPListBox

原文地址:https://www.cnblogs.com/songsu/p/1739039.html