﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-goody9807</title><link>http://www.cnblogs.com/goody9807/</link><description>避风的港湾-云之宇~~~寻找.Net的精华

一个不错的P2P软件,里面肯定有你要的资源
</description><language>zh-cn</language><lastBuildDate>Sun, 12 Oct 2008 08:03:26 GMT</lastBuildDate><pubDate>Sun, 12 Oct 2008 08:03:26 GMT</pubDate><ttl>60</ttl><item><title>关于读取txt文件的分段问题 </title><link>http://www.cnblogs.com/goody9807/archive/2008/10/09/1307213.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Thu, 09 Oct 2008 05:25:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/10/09/1307213.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1307213.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/10/09/1307213.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1307213.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1307213.html</trackback:ping><description><![CDATA[txt文件格式如下： <br />
<br />
[属性1] <br />
参数=2210.3,12.65,115,25,420.66,445.69,0.569 <br />
[属性2] <br />
9,0.018,2003-10,@ <br />
J01,1,3751508.5,39438683.65 <br />
J02,1,3751508.5,39438690.15 <br />
5,0.0247,2003-12,@ <br />
J01,1,3755389.7,39437380.2 <br />
<br />
<br />
怎样把属性1和属性2分离出来？属性一算是一段，属性2算是另一段，属性2中可能有多个以&#8216;@&#8217;结尾的部分又需要分成多个小段。 <br />
我主要是想将txt分成3部分，一个是属性1和属性2之间的那一段，第二部分是以&#8216;@&#8217;结尾的那一行到下一个以'@'结尾的那一行之前的那一段，就是示例中的第4、5、6三行，第三部分就是之后的7、8两行，也就是和第二部分差不多的，要求要是有多个&#8216;@&#8217;结尾的部分的话要求能分成多段。 <br />
<br />
不知道我说明白没有，不明白的一起讨论一下！
<div><br />
</div>
<div><br />
</div>
<div>成果：</div>
<div>
<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; border-left-color: #cccccc; padding-bottom: 4px; width: 98%; word-break: break-all; padding-top: 4px; background-color: #eeeeee"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Gets&nbsp;the&nbsp;ZD&nbsp;array.<br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;param&nbsp;name="fileName"&gt;</span><span style="color: #008000">Name&nbsp;of&nbsp;the&nbsp;file.</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"><br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;ArrayList&nbsp;GetZDArray(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;fileName)<br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">读取文件内容</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamReader&nbsp;sr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StreamReader(fileName,&nbsp;System.Text.Encoding.Default);<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;tempStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">sr.ReadLine();</span><span style="color: #008000"><br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;ArrList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ArrayList();<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;csArrList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ArrayList();<br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;dkArrList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ArrayList();<br />
</span><span style="color: #008080">14</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrayList&nbsp;zbArrList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ArrayList();<br />
</span><span style="color: #008080">15</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">16</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">初步整理文件内容并读出至ArrList中&nbsp;</span><span style="color: #008000"><br />
</span><span style="color: #008080">17</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;((tempStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;sr.ReadLine())&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)<br />
</span><span style="color: #008080">18</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">19</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tempStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;tempStr.Trim();<br />
</span><span style="color: #008080">20</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(tempStr.Length&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)<br />
</span><span style="color: #008080">21</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">22</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(tempStr.IndexOf(</span><span style="color: #800000">"</span><span style="color: #800000">[属性1]</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">||</span><span style="color: #000000">tempStr.IndexOf(</span><span style="color: #800000">"</span><span style="color: #800000">[属性2]</span><span style="color: #800000">"</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">)<br />
</span><span style="color: #008080">23</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">24</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">25</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">26</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(tempStr.Split(</span><span style="color: #800000">'</span><span style="color: #800000">=</span><span style="color: #800000">'</span><span style="color: #000000">).Length&nbsp;</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)<br />
</span><span style="color: #008080">27</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">28</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;csArrList.Add(tempStr);<br />
</span><span style="color: #008080">29</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">30</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
</span><span style="color: #008080">31</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">32</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dkArrList.Add(tempStr);<br />
</span><span style="color: #008080">33</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">34</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">35</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sr.Close();<br />
</span><span style="color: #008080">36</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrList.Add(csArrList);<br />
</span><span style="color: #008080">37</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ArrList.Add(dkArrList);<br />
</span><span style="color: #008080">38</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;ArrList;<br />
</span><span style="color: #008080">39</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">40</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">41</span>&nbsp;<span style="color: #000000">&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;summary&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">42</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;Gets&nbsp;the&nbsp;ZB&nbsp;STR&nbsp;from&nbsp;array.<br />
</span><span style="color: #008080">43</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;/summary&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">44</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;param&nbsp;name="ArrList"&gt;</span><span style="color: #008000">The&nbsp;arr&nbsp;list.</span><span style="color: #808080">&lt;/param&gt;</span><span style="color: #008000"><br />
</span><span style="color: #008080">45</span>&nbsp;<span style="color: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #808080">///</span><span style="color: #008000">&nbsp;</span><span style="color: #808080">&lt;returns&gt;&lt;/returns&gt;</span><span style="color: #808080"><br />
</span><span style="color: #008080">46</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;GetZBStrFromArray(ArrayList&nbsp;ArrList)<br />
</span><span style="color: #008080">47</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">48</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;dkstr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<br />
</span><span style="color: #008080">49</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;tem&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<br />
</span><span style="color: #008080">50</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;spl&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;<br />
</span><span style="color: #008080">51</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;ArrList.Count;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">52</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">53</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tem&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">string</span><span style="color: #000000">)ArrList[i];<br />
</span><span style="color: #008080">54</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(tem.Trim().Length&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)<br />
</span><span style="color: #008080">55</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">56</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(tem.Substring(tem.Length&nbsp;</span><span style="color: #000000">-</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">,&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">@</span><span style="color: #800000">"</span><span style="color: #000000">)<br />
</span><span style="color: #008080">57</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">58</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">continue;</span><span style="color: #008000"><br />
</span><span style="color: #008080">59</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;spl</span><span style="color: #000000">++</span><span style="color: #000000">;<br />
</span><span style="color: #008080">60</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dkstr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;dkstr&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">#</span><span style="color: #800000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;tem;<br />
</span><span style="color: #008080">61</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">62</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
</span><span style="color: #008080">63</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">64</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dkstr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;dkstr&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;tem&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">$</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">65</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">66</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">67</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">68</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;dkstr;<br />
</span><span style="color: #008080">69</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">70</span>&nbsp;<span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">bool</span><span style="color: #000000">&nbsp;InsertDKAndZB(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;dkzbStr)<br />
</span><span style="color: #008080">71</span>&nbsp;<span style="color: #000000">{<br />
</span><span style="color: #008080">72</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;dkandzb&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;dkzbStr.Split(</span><span style="color: #800000">'</span><span style="color: #800000">#</span><span style="color: #800000">'</span><span style="color: #000000">);<br />
</span><span style="color: #008080">73</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;dkandzb.Length;&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
</span><span style="color: #008080">74</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
</span><span style="color: #008080">75</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;val1&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">""</span><span style="color: #000000">;<br />
</span><span style="color: #008080">76</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(dkandzb[i].Trim().Length&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #800080">1</span><span style="color: #000000">)<br />
</span><span style="color: #008080">77</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">continue</span><span style="color: #000000">;<br />
</span><span style="color: #008080">78</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">[]&nbsp;dkStr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;dkandzb[i].Split(</span><span style="color: #800000">'</span><span style="color: #800000">@</span><span style="color: #800000">'</span><span style="color: #000000">);<br />
</span><span style="color: #008080">79</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">dkStr&nbsp;&nbsp;就是属性2中的一小段</span><span style="color: #008000"><br />
</span><span style="color: #008080">80</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
</span><span style="color: #008080">81</span>&nbsp;<span style="color: #000000">}</span></div>
</div>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1307213.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42950/" target="_blank">[新闻]Google开拓美政府机构市场 微软业务受冲击</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>C#窗体的最大化/最小化/还原/最小化到托盘/NotifyIcon的代码实现</title><link>http://www.cnblogs.com/goody9807/archive/2008/10/06/1305065.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Mon, 06 Oct 2008 13:49:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/10/06/1305065.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1305065.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/10/06/1305065.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1305065.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1305065.html</trackback:ping><description><![CDATA[<p><strong>1.最小化</strong></p>
<p>WindowState = FormWindowState.Minimized;</p>
<p><strong>//最小化时隐藏窗体</strong></p>
<p>this.Visible=false;</p>
<p><strong>2.最大化</strong></p>
<p>WindowState == FormWindowState.Maximized;</p>
<p><strong>3.还原为正常</strong></p>
<p>WindowState == FormWindowState.Normal;</p>
<p><strong>4.在托盘显示</strong></p>
<p>&nbsp;&nbsp; 打开 VS.net的工具箱，然后选择NotifyIcon,拖到Form上,在属性中Icon中设置图象添加一个ContextMenu,输入需要的选择项在 NotifyIcon中的ContextMenu属性中可以设置刚添加的ContextMenu 点托盘上的图标 就可以显示选择项&nbsp;&nbsp;</p>
<p>实例部分代码:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region 还原窗体</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void normalForm()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this.AutoScaleBaseSize = new System.Drawing.Size(5, 15);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this.ClientSize = new System.Drawing.Size(504, 267);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.Visible = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this.WindowState=FormWindowState.Normal;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region 最小化窗体并在托盘显示,隐藏窗体<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void minForm()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WindowState = FormWindowState.Minimized;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.Visible = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.notifyIconCMPC.Visible = true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.myTimer.Enabled = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this.Hide();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //设置气球状工具提示显示的时间为10秒<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.notifyIconCMPC.ShowBalloonTip(30);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重写WndProc屏蔽掉关闭按钮 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; protected override void WndProc(ref Message m)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const int WM_SYSCOMMAND = 0x0112;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const int SC_CLOSE = 0xF060;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (m.Msg == WM_SYSCOMMAND &amp;&amp; (int)m.WParam == SC_CLOSE)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.Visible = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base.WndProc(ref m);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (this.WindowState == FormWindowState.Minimized || this.Visible == false)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.normalForm();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; minForm();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;<span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">partial</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;MainForm&nbsp;:&nbsp;Form<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FormWindowState&nbsp;fws&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;FormWindowState.Normal;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;MainForm()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.SizeChanged&nbsp;</span><span style="color: #000000">+=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;EventHandler(MainForm_SizeChanged);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.notifyIcon1.DoubleClick&nbsp;</span><span style="color: #000000">+=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;EventHandler(notifyIcon1_DoubleClick);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.notifyIcon1.Icon&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Icon(</span><span style="color: #800000">"</span><span style="color: #800000">Virgo.ico</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.notifyIcon1.Visible&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;MainForm_SizeChanged(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">this</span><span style="color: #000000">.WindowState&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;FormWindowState.Minimized)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ShowInTaskbar&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.notifyIcon1.Visible&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fws&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.WindowState;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;notifyIcon1_DoubleClick(</span><span style="color: #0000ff">object</span><span style="color: #000000">&nbsp;sender,&nbsp;EventArgs&nbsp;e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">this</span><span style="color: #000000">.WindowState&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;FormWindowState.Minimized)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.ShowInTaskbar&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.notifyIcon1.Visible&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.WindowState&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;fws;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}</span></p>
<p>&nbsp;</p>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1305065.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42949/" target="_blank">[新闻]消息称苹果正在开发iTunes网络电视</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>SQL字符串处理函数大全</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/28/1301428.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Sun, 28 Sep 2008 06:01:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/28/1301428.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1301428.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/28/1301428.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1301428.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1301428.html</trackback:ping><description><![CDATA[<p>select语句中只能使用sql函数对字段进行操作（链接sql server），<br />
select 字段1 from 表1 where 字段1.IndexOf("云")=1;<br />
这条语句不对的原因是indexof（）函数不是sql函数，改成sql对应的函数就可以了。<br />
left（）是sql函数。<br />
select 字段1 from 表1 where charindex（'云',字段1）=1;</p>
<p>字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。<br />
常用的字符串函数有：<br />
<br />
<strong>一、字符转换函数</strong><br />
1、ASCII()<br />
返回字符表达式最左端字符的ASCII 码值。在ASCII（）函数中，纯数字的字符串可不用&#8216;&#8217;括起来，但含其它字符的字符串必须用&#8216;&#8217;括起来使用，否则会出错。<br />
2、CHAR()<br />
将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值，CHAR（） 返回NULL 。<br />
3、LOWER()和UPPER()<br />
LOWER()将字符串全部转为小写；UPPER()将字符串全部转为大写。<br />
4、STR()<br />
把数值型数据转换为字符型数据。<br />
STR (&lt;float_expression&gt;[，length[， &lt;decimal&gt;]])<br />
length 指定返回的字符串的长度，decimal 指定返回的小数位数。如果没有指定长度，缺省的length 值为10， decimal 缺省值为0。<br />
当length 或者decimal 为负值时，返回NULL；<br />
当length 小于小数点左边（包括符号位）的位数时，返回length 个*；<br />
先服从length ，再取decimal ；<br />
当返回的字符串位数小于length ，左边补足空格。<br />
<strong>二、去空格函数</strong><br />
1、LTRIM() 把字符串头部的空格去掉。<br />
<br />
2、RTRIM() 把字符串尾部的空格去掉。<br />
<br />
<strong>三、取子串函数</strong><br />
1、left() <br />
LEFT (&lt;character_expression&gt;， &lt;integer_expression&gt;)<br />
返回character_expression 左起 integer_expression 个字符。<br />
<br />
2、RIGHT() <br />
RIGHT (&lt;character_expression&gt;， &lt;integer_expression&gt;)<br />
返回character_expression 右起 integer_expression 个字符。<br />
<br />
3、SUBSTRING()<br />
SUBSTRING (&lt;expression&gt;， &lt;starting_ position&gt;， length)<br />
返回从字符串左边第starting_ position 个字符起length个字符的部分。<br />
<br />
<strong>四、字符串比较函数</strong><br />
1、CHARINDEX()<br />
返回字符串中某个指定的子串出现的开始位置。<br />
CHARINDEX (&lt;&#8217;substring_expression&#8217;&gt;， &lt;expression&gt;)<br />
其中substring _expression 是所要查找的字符表达式，expression 可为字符串也可为列名表达式。如果没有发现子串，则返回0 值。<br />
此函数不能用于TEXT 和IMAGE 数据类型。<br />
2、PATINDEX()<br />
返回字符串中某个指定的子串出现的开始位置。<br />
PATINDEX (&lt;&#8217;%substring _expression%&#8217;&gt;， &lt;column_ name&gt;)其中子串表达式前后必须有百分号&#8220;%&#8221;否则返回值为0。<br />
与CHARINDEX 函数不同的是，PATINDEX函数的子串中可以使用通配符，且此函数可用于CHAR、 VARCHAR 和TEXT 数据类型。<br />
<br />
<strong>五、字符串操作函数</strong><br />
1、QUOTENAME()<br />
返回被特定字符括起来的字符串。<br />
QUOTENAME (&lt;&#8217;character_expression&#8217;&gt;[， quote_ character]) 其中quote_ character 标明括字符串所用的字符，缺省值为&#8220;[]&#8221;。<br />
2、REPLICATE()<br />
返回一个重复character_expression 指定次数的字符串。<br />
REPLICATE (character_expression integer_expression) 如果integer_expression 值为负值，则返回NULL 。<br />
<br />
3、REVERSE()<br />
将指定的字符串的字符排列顺序颠倒。<br />
REVERSE (&lt;character_expression&gt;) 其中character_expression 可以是字符串、常数或一个列的值。<br />
<br />
4、REPLACE()<br />
返回被替换了指定子串的字符串。<br />
REPLACE (&lt;string_expression1&gt;， &lt;string_expression2&gt;， &lt;string_expression3&gt;) 用string_expression3 替换在string_expression1 中的子串string_expression2。<br />
<br />
4、SPACE()<br />
返回一个有指定长度的空白字符串。<br />
SPACE (&lt;integer_expression&gt;) 如果integer_expression 值为负值，则返回NULL 。<br />
<br />
5、STUFF()<br />
用另一子串替换字符串指定位置、长度的子串。<br />
STUFF (&lt;character_expression1&gt;， &lt;start_ position&gt;， &lt;length&gt;，&lt;character_expression2&gt;)<br />
如果起始位置为负或长度值为负，或者起始位置大于character_expression1 的长度，则返回NULL 值。<br />
如果length 长度大于character_expression1 中 start_ position 以右的长度，则character_expression1 只保留首字符。<br />
<strong>六、数据类型转换函数</strong><br />
1、CAST()<br />
CAST (&lt;expression&gt; AS &lt;data_ type&gt;[ length ])<br />
<br />
2、CONVERT()<br />
CONVERT (&lt;data_ type&gt;[ length ]， &lt;expression&gt; [， style])<br />
<br />
1）data_type为SQL Server系统定义的数据类型，用户自定义的数据类型不能在此使用。<br />
2）length用于指定数据的长度，缺省值为30。<br />
3）把CHAR或VARCHAR类型转换为诸如INT或SAMLLINT这样的INTEGER类型、结果必须是带正号或负号的数值。<br />
4）TEXT类型到CHAR或VARCHAR类型转换最多为8000个字符，即CHAR或VARCHAR数据类型是最大长度。<br />
5）IMAGE类型存储的数据转换到BINARY或VARBINARY类型，最多为8000个字符。<br />
6）把整数值转换为MONEY或SMALLMONEY类型，按定义的国家的货币单位来处理，如人民币、美元、英镑等。<br />
7）BIT类型的转换把非零值转换为1，并仍以BIT类型存储。<br />
8）试图转换到不同长度的数据类型，会截短转换值并在转换值后显示&#8220;+&#8221;，以标识发生了这种截断。<br />
9）用CONVERT（）函数的style 选项能以不同的格式显示日期和时间。style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号，不同的样式编号有不同的输出格式。<br />
<strong>七、日期函数</strong><br />
1、day(date_expression) <br />
返回date_expression中的日期值<br />
<br />
2、month(date_expression)<br />
返回date_expression中的月份值<br />
<br />
3、year(date_expression)<br />
返回date_expression中的年份值<br />
<br />
4、DATEADD()<br />
DATEADD (&lt;datepart&gt;， &lt;number&gt;， &lt;date&gt;)<br />
返回指定日期date 加上指定的额外日期间隔number 产生的新日期。<br />
5、DATEDIFF()<br />
DATEDIFF (&lt;datepart&gt;， &lt;date1&gt;， &lt;date2&gt;)<br />
返回两个指定日期在datepart 方面的不同之处，即date2 超过date1的差距值，其结果值是一个带有正负号的整数值。<br />
<br />
6、DATENAME()<br />
DATENAME (&lt;datepart&gt;， &lt;date&gt;)<br />
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。<br />
<br />
7、DATEPART()<br />
DATEPART (&lt;datepart&gt;， &lt;date&gt;)<br />
以整数值的形式返回日期的指定部分。此部分由datepart 来指定。<br />
DATEPART (dd， date) 等同于DAY (date)<br />
DATEPART (mm， date) 等同于MONTH (date)<br />
DATEPART (yy， date) 等同于YEAR (date)<br />
<br />
8、GETDATE()<br />
以DATETIME 的缺省格式返回系统当前的日期和时间。 </p>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1301428.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42948/" target="_blank">[新闻]微软周一开电话会议 预计将发布Silverlight2.0</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>使用反射-动态创建对象及调用对象方法</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/26/1299736.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Fri, 26 Sep 2008 09:44:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/26/1299736.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1299736.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/26/1299736.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1299736.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1299736.html</trackback:ping><description><![CDATA[<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;ConsoleApplication1<br />
<img id="Codehighlighter1_30_646_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_30_646_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_30_646_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_30_646_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"><img id="Codehighlighter1_30_646_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_30_646_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_30_646_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_30_646_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"></span><span id="Codehighlighter1_30_646_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_30_646_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;ReflectionSample<br />
<img id="Codehighlighter1_70_644_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_70_644_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_70_644_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_70_644_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_70_644_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_70_644_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_70_644_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_70_644_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_70_644_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_70_644_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;firstName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Empty;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;lastName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Empty;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img id="Codehighlighter1_204_207_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_204_207_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_204_207_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_204_207_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_204_207_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_204_207_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_204_207_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_204_207_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ReflectionSample()&nbsp;</span><span id="Codehighlighter1_204_207_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_204_207_Open_Text"><span style="color: #000000">{&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;ReflectionSample(</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;firstName,&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;lastName)<br />
<img id="Codehighlighter1_284_373_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_284_373_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_284_373_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_284_373_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_284_373_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_284_373_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_284_373_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_284_373_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_284_373_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_284_373_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.firstName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;firstName;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.lastName&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;lastName;<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;SayHello()<br />
<img id="Codehighlighter1_416_509_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_416_509_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_416_509_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_416_509_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_416_509_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_416_509_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_416_509_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_416_509_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_416_509_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_416_509_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Format(</span><span style="color: #800000">"</span><span style="color: #800000">Hello&nbsp;{0}&nbsp;{1}</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.firstName,&nbsp;</span><span style="color: #0000ff">this</span><span style="color: #000000">.lastName);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" /><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">&nbsp;StaticHello()<br />
<img id="Codehighlighter1_562_638_Open_Image" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_562_638_Open_Text').style.display='none'; document.getElementById('Codehighlighter1_562_638_Closed_Image').style.display='inline'; document.getElementById('Codehighlighter1_562_638_Closed_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"><img id="Codehighlighter1_562_638_Closed_Image" style="display: none" onclick="this.style.display='none'; document.getElementById('Codehighlighter1_562_638_Closed_Text').style.display='none'; document.getElementById('Codehighlighter1_562_638_Open_Image').style.display='inline'; document.getElementById('Codehighlighter1_562_638_Open_Text').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_562_638_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.cnblogs.com/Images/dot.gif" /></span><span id="Codehighlighter1_562_638_Open_Text"><span style="color: #000000">{<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">string</span><span style="color: #000000">.Format(</span><span style="color: #800000">"</span><span style="color: #800000">Hello,&nbsp;I&nbsp;am&nbsp;a&nbsp;static&nbsp;method</span><span style="color: #800000">"</span><span style="color: #000000">);<br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
</span></span>
<p><span id="Codehighlighter1_30_646_Open_Text"><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span> <br />
</p>
<p><br />
</p>
<p>创建对象，方法一：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080">1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">Assembly&nbsp;asm&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Assembly.GetExecutingAssembly();<br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Object&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;asm.CreateInstance(</span><span style="color: #800000">"</span><span style="color: #800000">ConsoleApplication1.ReflectionSample</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">);</span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>方法二：</p>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080">1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">ObjectHandle&nbsp;handler&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Activator.CreateInstance(</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">ConsoleApplication1.ReflectionSample</span><span style="color: #800000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">第一个参数表示程序集名称，为null表示当前程序集</span><span style="color: #008000"><br />
</span><span style="color: #008080">2</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">Object&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;handler.Unwrap();</span></div>
<p>&nbsp;</p>
<p>带参数构造函数的情况：</p>
<p>创建参数和修改createintance方法：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000">//</span><span style="color: #008000">创建参数：</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">Object[]&nbsp;paras&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Object[</span><span style="color: #800080">2</span><span style="color: #000000">];<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />paras[</span><span style="color: #800080">0</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Jimmy</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />paras[</span><span style="color: #800080">1</span><span style="color: #000000">]&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #800000">"</span><span style="color: #800000">Zhang</span><span style="color: #800000">"</span><span style="color: #000000">;<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">创建对象：</span><span style="color: #008000"><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #000000">Assembly&nbsp;asm&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Assembly.GetExecutingAssembly();<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" />Object&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;asm.CreateInstance(</span><span style="color: #800000">"</span><span style="color: #800000">ConsoleApplication1.ReflectionSample</span><span style="color: #800000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">,&nbsp;BindingFlags.Default,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;paras,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">);<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">The&nbsp;second&nbsp;way<br />
</span><span style="color: #008080">11</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">ObjectHandle&nbsp;handler&nbsp;=&nbsp;Activator.CreateInstance(null,&nbsp;"ConsoleApplication1.ReflectionSample",&nbsp;true,&nbsp;BindingFlags.Default,&nbsp;null,&nbsp;paras,&nbsp;null,&nbsp;null,&nbsp;null);<br />
</span><span style="color: #008080">12</span><span style="color: #008000"><img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #008000">//</span><span style="color: #008000">Object&nbsp;obj&nbsp;=&nbsp;handler.Unwrap();</span></div>
<p>&nbsp;</p>
<p>ss</p>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1299736.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42947/" target="_blank">[新闻]开心网即将启用”shejiao.com”?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>一个webproxy代理类</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/25/1298757.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Thu, 25 Sep 2008 06:39:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/25/1298757.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1298757.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/25/1298757.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1298757.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1298757.html</trackback:ping><description><![CDATA[<span class="stx_keyword">using</span> System;<br />
<span id="l2"><span class="stx_keyword">using</span> System.Net;<br />
</span><span id="l3"><span class="stx_keyword">using</span> log4net;<br />
</span><span id="l4"><br />
</span><span id="l5"><span class="stx_keyword">namespace</span> Witty<br />
</span><span id="l6">{<br />
</span><span id="l7">&nbsp;&nbsp;&nbsp; <span class="stx_keyword">public</span> <span class="stx_keyword">static</span> <span class="stx_keyword">class</span> <strong class="chl" id="m0">WebProxy</strong>Helper<br />
</span><span id="l8">&nbsp;&nbsp;&nbsp; {<br />
</span><span id="l9">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">private</span> <span class="stx_keyword">static</span> Properties.Settings AppSettings = Properties.Settings.Default;<br />
</span><span id="l10">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">private</span> <span class="stx_keyword">static</span> <span class="stx_keyword">readonly</span> ILog logger = LogManager.GetLogger(<span class="stx_string">"Witty.Logging"</span>);<br />
</span><span id="l11"><br />
</span><span id="l12">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">public</span> <span class="stx_keyword">static</span> I<strong class="chl" id="m1">WebProxy</strong> GetConfigured<strong class="chl" id="m2">WebProxy</strong>()<br />
</span><span id="l13">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
</span><span id="l14">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong class="chl" id="m3">WebProxy</strong> proxy = <span class="stx_keyword">null</span>;<br />
</span><span id="l15">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">if</span> (AppSettings.UseProxy)<br />
</span><span id="l16">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
</span><span id="l17">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">try</span><br />
</span><span id="l18">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
</span><span class="cclhl" id="l19">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy = <span class="stx_keyword">new</span> <strong class="cchl" id="m4">WebProxy</strong>(AppSettings.ProxyServer, AppSettings.ProxyPort);<br />
</span><span id="l20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy.Credentials = <span class="stx_keyword">new</span> NetworkCredential(AppSettings.ProxyUsername, AppSettings.ProxyPassword);<br />
</span><span id="l21">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</span><span id="l22">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">catch</span> (UriFormatException ex)<br />
</span><span id="l23">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
</span><span id="l24">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logger.Debug(ex.ToString());<br />
</span><span id="l25">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</span><span id="l26">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</span><span id="l27">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span class="stx_keyword">return</span> proxy;<br />
</span><span id="l28">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
</span><span id="l29">&nbsp;&nbsp;&nbsp; }<br />
</span><span id="l30">}<br />
</span>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1298757.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42945/" target="_blank">[新闻]Google股价跌破329美元 61%员工期权价值归零</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>如何更改 Internet Explorer 中默认的保持连接超时值</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/24/1297945.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Wed, 24 Sep 2008 06:32:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/24/1297945.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1297945.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/24/1297945.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1297945.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1297945.html</trackback:ping><description><![CDATA[<div class="blog_content">
<p>如何更改 Internet Explorer 中默认的保持连接超时值<br />
察看本文应用于的产品<br />
文章编号 : 813827 <br />
最后修改 : 2004年12月2日 <br />
修订 : 3.2 </p>
<p>重要说明：本文包含有关修改注册表的信息。修改注册表之前，一定要备份注册表，并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息，请单击下面的文章编号，以查看 Microsoft 知识库中相应的文章：<br />
256986 (<a href="http://support.microsoft.com/kb/256986/">http://support.microsoft.com/kb/256986/</a>) Microsoft Windows 注册表说明<br />
概要<br />
本文介绍如何更改 Microsoft Internet Explorer 中默认的 HTTP 保持连接值。</p>
<p>当 Internet Explorer 建立与 Web 服务器的永久性 HTTP 连接（通过使用 Connection:Keep-Alive 标头）时，Internet Explorer 会重用用于接收初始请求的同一个 TCP/IP 套接字，直到该套接字的空闲时间达到一分钟。在该连接空闲一分钟后，Internet Explorer 将重置该连接。然后，将使用一个新的 TCP/IP 套接字接收其他请求。您可能希望更改 Internet Explorer 中的 HTTP KeepAliveTimeout 值。</p>
<p>无论客户端浏览器 (Internet Explorer) 还是 Web 服务器具有较低的 KeepAlive 值，它都将是限制因素。例如，如果客户端的超时值是两分钟，而 Web 服务器的超时值是一分钟，则最大超时值是一分钟。客户端或服务器都可以是限制因素。</p>
<p>默认情况下，Internet Explorer 的 KeepAliveTimeout 值为一分钟，并具有一个值为两分钟的附加限制因素 (ServerInfoTimeout)。其中任何一个设置都可导致 Internet Explorer 重置套接字。<br />
更多信息<br />
警告：注册表编辑器使用不当可导致严重问题，可能需要重新安装操作系统。Microsoft 不能保证可以解决因注册表使用不当所导致的问题。使用注册表编辑器需要您自担风险。</p>
<p>如果您使用的 Web 程序必须在 TCP/IP 套接字空闲一分钟后通过该同一套接字与 Internet Explorer 通讯，您可能必须增加 Internet Explorer 中永久性 HTTP 连接的默认超时值。要更改 Internet Explorer 中永久性 HTTP 连接的默认超时值，请将一个名为 KeepAliveTimeout 的 DWORD 值添加到以下注册表项，然后将它的数值数据设置为您希望 Internet Explorer 在重置空闲连接之前等待的时间（以毫秒为单位）：<br />
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings<br />
为此，请按照下列步骤操作： 1. 单击&#8220;开始&#8221;，单击&#8220;运行&#8221;，键入 regedit，然后单击&#8220;确定&#8221;。&nbsp; <br />
2. 在注册表中找到并单击以下项：<br />
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings <br />
3. 在&#8220;编辑&#8221;菜单上，指向&#8220;新建&#8221;，然后单击&#8220;DWORD 值&#8221;。 <br />
4. 键入 KeepAliveTimeout，然后按 Enter 键。 <br />
5. 在&#8220;编辑&#8221;菜单上，单击&#8220;修改&#8221;。 <br />
6. 键入相应的超时值（以毫秒为单位），然后单击&#8220;确定&#8221;。例如，要将超时值设置为两分钟，请键入 120000。 <br />
7. 重新启动 Internet Explorer。 <br />
如果您将 KeepAliveTimeout 值设置为小于 60,000（一分钟）的值，则您在与需要永久性 HTTP 连接的 Web 服务器通讯时可能会遇到问题。例如，您可能会收到&#8220;Page cannot be displayed&#8221;（无法显示页面）错误消息。</p>
<p>如果您必须使 KeepAliveTimeout 值大于 120000（两分钟），则您必须创建一个附加的注册表项，并将该注册表项的值设置为所需的 KeepAliveTimeout 值。该附加注册表项是 ServerInfoTimeout。它具有一个 DWORD 值（以毫秒为单位），并且与 KeepAliveTimeout 位于同一位置。</p>
<p>例如，要使用大小为三分钟的 KeepAliveTimeout 值，您必须创建下列注册表项： <br />
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\InternetSettings</p>
<p>KeepAliveTimeout DWORD 值 180000（以毫秒为单位） <br />
ServerInfoTimeout DWORD 值 180000（以毫秒为单位）<br />
默认情况下，在 Internet Explorer 中启用 HTTP 1.1，除非您通过代理服务器建立 HTTP 连接。当启用 HTTP 1.1 时，默认情况下 HTTP 连接将保持打开状态（即为永久性连接），直至该连接空闲一分钟或达到注册表中的 KeepAliveTimeout 值所指定的值为止。您可以使用&#8220;Internet 选项&#8221;对话框中的&#8220;高级&#8221;选项卡来修改 Internet Explorer 中的 HTTP 1.1 设置。</p>
</div>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1297945.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42944/" target="_blank">[新闻]十年祭:昔日明星软件今何在?</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title> C#中的DllImport</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/09/1287850.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Tue, 09 Sep 2008 10:11:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/09/1287850.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1287850.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/09/1287850.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1287850.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1287850.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;大家在实际工作学习C#的时候，可能会问：为什么我们要为一些已经存在的功能（比如Windows中的一些功能，C++中已经编写好的一些方法）要重新编写代码，C#有没有方法可以直接都用这些原本已经存在的功能呢？答案是肯定的，大家可以通过C#中的DllImport直接调用这些功能。<br />
&nbsp;&nbsp;&nbsp; DllImport所在的名字空间 using System.Runtime.InteropServices;<br />
&nbsp;&nbsp;&nbsp; MSDN中对DllImportAttribute的解释是这样的：可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。<font color="#ff0000">作为最低要求，必须提供包含入口点的 DLL 的名称</font>。<br />
&nbsp;&nbsp;&nbsp; DllImport 属性定义如下：&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;namespace System.Runtime.InteropServices <br />
&nbsp;&nbsp; { <br />
&nbsp;&nbsp;　 [AttributeUsage(AttributeTargets.Method)] <br />
&nbsp;&nbsp;　 public class DllImportAttribute: System.Attribute <br />
&nbsp;&nbsp;　 { <br />
&nbsp;&nbsp;　 　public DllImportAttribute(string dllName) {...} <br />
&nbsp;&nbsp;　 　public CallingConvention CallingConvention; <br />
&nbsp;&nbsp;　 　public CharSet CharSet; <br />
&nbsp;&nbsp;　　 public string EntryPoint; <br />
&nbsp;&nbsp;　 　public bool ExactSpelling; <br />
&nbsp;&nbsp;　 　public bool PreserveSig; <br />
&nbsp;&nbsp;　 　public bool SetLastError; <br />
&nbsp;&nbsp;　 　public string Value { get {...} } <br />
&nbsp;&nbsp;　 }&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　说明：&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　1、DllImport只能放置在方法声明上。&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　2、DllImport具有单个定位参数：指定包含被导入方法的 dll 名称的 dllName 参数。&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　3、DllImport具有五个命名参数：&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　　a、CallingConvention 参数指示入口点的调用约定。如果未指定 CallingConvention，则使用默认值 CallingConvention.Winapi。&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　　b、CharSet 参数指示用在入口点中的字符集。如果未指定 CharSet，则使用默认值 CharSet.Auto。&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　　c、EntryPoint 参数给出 dll 中入口点的名称。如果未指定 EntryPoint，则使用方法本身的名称。&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　　d、ExactSpelling 参数指示 EntryPoint 是否必须与指示的入口点的拼写完全匹配。如果未指定 ExactSpelling，则使用默认值 false。&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　　e、PreserveSig 参数指示方法的签名应当被保留还是被转换。当签名被转换时，它被转换为一个具有 HRESULT 返回值和该返回值的一个名为 retval 的附加输出参数的签名。如果未指定 PreserveSig，则使用默认值 true。&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　　f、SetLastError 参数指示方法是否保留 Win32"上一错误"。如果未指定 SetLastError，则使用默认值 false。&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　4、它是一次性属性类。&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;　　5、此外，用 DllImport 属性修饰的方法必须具有 extern 修饰符。<br />
<br />
&nbsp;&nbsp;&nbsp; DllImport的用法：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#ff0000">DllImport("MyDllImport.dll")]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private static extern int mySum(int a,int b);<br />
</font><br />
<strong>一 在C#程序设计中使用Win32类库<br />
</strong>&nbsp;常用对应类型：<br />
1、DWORD 是 4 字节的整数，因此我们可以使用 int 或 uint 作为 C# 对应类型。<br />
2、bool 类型与 BOOL 对应。<br />
<br />
示例一：调用 Beep() API 来发出声音<br />
&nbsp;&nbsp;&nbsp; Beep() 是在 kernel32.lib 中定义的，在MSDN 中的定义，Beep具有以下原型：<br />
&nbsp;&nbsp;&nbsp; BOOL Beep(DWORD dwFreq, // 声音频率 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DWORD dwDuration // 声音持续时间);&nbsp;<br />
用 C# 编写以下原型：<br />
[DllImport("kernel32.dll")]&nbsp;<br />
public static extern bool Beep(int frequency, int duration);<br />
<br />
示例二：枚举类型和常量<br />
&nbsp;&nbsp;&nbsp; MessageBeep() 是在 user32.lib 中定义的，在MSDN 中的定义，MessageBeep具有以下原型：<br />
&nbsp;&nbsp;&nbsp; BOOL MessageBeep(UINT uType // 声音类型<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );&nbsp;<br />
<br />
用C#编写一下原型：<br />
public enum BeepType<br />
{<br />
　 SimpleBeep = -1,<br />
　 IconAsterisk = 0x00000040,<br />
　 IconExclamation = 0x00000030,<br />
　 IconHand = 0x00000010,<br />
　 IconQuestion = 0x00000020,<br />
　 Ok = 0x00000000,<br />
} <br />
uType 参数实际上接受一组预先定义的常量，对于 uType 参数，使用 enum 类型是合乎情理的。<br />
[DllImport("user32.dll")]<br />
public static extern bool MessageBeep(BeepType beepType);&nbsp;&nbsp;<br />
<br />
示例三：处理结构<br />
&nbsp;&nbsp;&nbsp; 有时我需要确定我笔记本的电池状况。Win32 为此提供了电源管理函数，搜索 MSDN 可以找到GetSystemPowerStatus() 函数。 <br />
&nbsp;&nbsp;&nbsp; BOOL GetSystemPowerStatus( <br />
　&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LPSYSTEM_POWER_STATUS lpSystemPowerStatus <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; );<br />
&nbsp;&nbsp;&nbsp; 此函数包含指向某个结构的指针，我们尚未对此进行过处理。要处理结构，我们需要用 C# 定义结构。我们从非托管的定义开始： <br />
typedef struct _SYSTEM_POWER_STATUS { <br />
BYTE　 ACLineStatus; <br />
BYTE　 BatteryFlag; <br />
BYTE　 BatteryLifePercent; <br />
BYTE　 Reserved1; <br />
DWORD　BatteryLifeTime; <br />
DWORD　BatteryFullLifeTime; <br />
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS; <br />
　　 然后，通过用 C# 类型代替 C 类型来得到 C# 版本。 <br />
struct SystemPowerStatus <br />
{ <br />
　 byte ACLineStatus; <br />
　 byte batteryFlag; <br />
　 byte batteryLifePercent; <br />
　 byte reserved1; <br />
　 int batteryLifeTime; <br />
　 int batteryFullLifeTime; <br />
} <br />
&nbsp;&nbsp;&nbsp; 这样，就可以方便地编写出 C# 原型： <br />
&nbsp;&nbsp;&nbsp; [DllImport("kernel32.dll")] <br />
&nbsp;&nbsp;&nbsp; public static extern bool GetSystemPowerStatus( <br />
　 ref SystemPowerStatus systemPowerStatus); <br />
　　 在此原型中，我们用&#8220;ref&#8221;指明将传递结构指针而不是结构值。这是处理通过指针传递的结构的一般方法。 <br />
　　 此函数运行良好，但是最好将 ACLineStatus 和 batteryFlag 字段定义为 enum： <br />
　　enum ACLineStatus: byte <br />
　　 { <br />
　　　 Offline = 0, <br />
　　　 Online = 1, <br />
　　　 Unknown = 255, <br />
　　 } <br />
　　 enum BatteryFlag: byte <br />
　　 { <br />
　　　 High = 1, <br />
　　　 Low = 2, <br />
　　　 Critical = 4, <br />
　　　 Charging = 8, <br />
　　　 NoSystemBattery = 128, <br />
　　　 Unknown = 255, <br />
　　 } <br />
请注意，由于结构的字段是一些字节，因此我们使用 byte 作为该 enum 的基本类型<br />
<br />
示例四：处理字符串<br />
<br />
<br />
<strong>二 C# 中调用C++代码</strong><br />
&nbsp;&nbsp;&nbsp; <font color="#ff1493">int 类型</font> <br />
[DllImport(&#8220;MyDLL.dll")] <br />
//返回个int 类型 <br />
public static extern int mySum (int a1,int b1); <br />
//DLL中申明 <br />
extern &#8220;C&#8221; __declspec(dllexport)&nbsp; int WINAPI mySum(int a2,int b2) <br />
{&nbsp;<br />
//a2 b2不能改变a1 b1<br />
//a2=..<br />
//b2=...<br />
&nbsp;return a+b; <br />
} <br />
</p>
<p>//参数传递int 类型 <br />
public static extern int mySum (ref int a1,ref int b1); <br />
//DLL中申明 <br />
extern &#8220;C&#8221; __declspec(dllexport)&nbsp; int WINAPI mySum(int *a2,int *b2) <br />
{&nbsp;<br />
//可以改变 a1, b1<br />
*a2=...<br />
*b2=...<br />
&nbsp;return a+b; <br />
} <br />
<br />
<br />
<font color="#ff1493">DLL 需传入char *类型 <br />
</font>[DllImport(&#8220;MyDLL.dll")]&nbsp;<br />
//传入值 <br />
public static extern int mySum (string&nbsp; astr1,string bstr1); <br />
//DLL中申明 <br />
extern &#8220;C&#8221; __declspec(dllexport)&nbsp; int WINAPI mySum(char * astr2,char * bstr2) <br />
{ <br />
//改变astr2 bstr 2&nbsp; ，astr1 bstr1不会被改变<br />
&nbsp;return a+b; <br />
} </p>
<p><br />
<font color="#ff1493">DLL 需传出char *类型</font> <br />
[DllImport(&#8220;MyDLL.dll")] <br />
// 传出值<br />
public static extern int mySum (StringBuilder abuf, StringBuilder bbuf ); <br />
//DLL中申明 <br />
extern &#8220;C&#8221; __declspec(dllexport)&nbsp; int WINAPI mySum(char * astr,char * bstr) <br />
{ <br />
//传出char *　改变astr　bstr --&gt;abuf, bbuf可以被改变<br />
&nbsp;return a+b; <br />
} <br />
&nbsp;<br />
<font color="#ff1493">DLL 回调函数</font> <br />
<br />
BOOL EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam) <br />
<br />
<img height="200" alt="" src="http://blog.vckbase.com/images/vckbase_com/teky/blog3.JPG" width="373" border="0" /><br />
<br />
using System; <br />
using System.Runtime.InteropServices; <br />
public delegate bool CallBack(int hwnd, int lParam); //定义委托函数类型 <br />
public class EnumReportApp <br />
{ <br />
[DllImport("user32")] <br />
public static extern int EnumWindows(CallBack x, int y); <br />
public static void Main() { <br />
CallBack myCallBack = new CallBack(EnumReportApp.Report); EnumWindows(myCallBack, 0); <br />
} <br />
public static bool Report(int hwnd, int lParam) <br />
{ <br />
Console.Write("Window handle is "); <br />
Console.WriteLine(hwnd); return true; <br />
} <br />
} <br />
&nbsp;</p>
<p><font color="#ff1493">DLL&nbsp; 传递结构</font>&nbsp; <br />
BOOL PtInRect(const RECT *lprc, POINT pt); <br />
<br />
using System.Runtime.InteropServices; <br />
[StructLayout(LayoutKind.Sequential)] <br />
public struct Point {<br />
&nbsp;public int x; <br />
public int y;<br />
&nbsp;} <br />
[StructLayout(LayoutKind.Explicit)] <br />
&nbsp;public struct Rect <br />
&nbsp;{ <br />
[FieldOffset(0)] public int left; <br />
[FieldOffset(4)] public int top;<br />
[FieldOffset(8)] public int right; <br />
[FieldOffset(12)] public int bottom;<br />
&nbsp;} <br />
Class XXXX { <br />
&nbsp;[DllImport("User32.dll")] <br />
public static extern bool PtInRect(ref&nbsp; Rect r, Point p); <br />
&nbsp;} </p>
<p><br />
<br />
&nbsp;</p>
 <img src ="http://www.cnblogs.com/goody9807/aggbug/1287850.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42943/" target="_blank">[新闻]六大可能出售IT企业名单：SUN领头或被猎走</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>使div浮动层显示在Select组件上面</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/05/1285020.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Fri, 05 Sep 2008 03:50:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/05/1285020.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1285020.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/05/1285020.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1285020.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1285020.html</trackback:ping><description><![CDATA[<div class="postBody"><strong><span style="font-size: 14pt">一、发现问题</span></strong><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;问题：绿色的浮动层被select组件&#8220;咬掉了一块&#8221;。<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.jojobox.cn/blog/attachments/month_0712/d200712920220.jpg" border="0" />&nbsp;&nbsp; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;代码部分：<strong>浮动层</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;
<div class="UBBPanel">
<div class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="程序代码" src="http://www.jojobox.cn/blog/images/code.gif" /> 程序代码</div>
<div class="UBBContent"><br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="submenutvc" id="tvc" &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;汽车&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;化妆品&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;房地产&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;日用品&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</div>
</div>
<br />
<br />
<strong><span style="font-size: 14pt">二、找到方法</span>&nbsp;&nbsp; </strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;上网搜索了一下之后发现，这个是html语言的通病，只能通过某些优先级更加高的组件来遮盖。<br />
&nbsp;&nbsp;&nbsp;&nbsp;在CSDN社区里看到有人给出解决方案：<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<div class="UBBPanel">
<div class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="引用内容" src="http://www.jojobox.cn/blog/images/quote.gif" /> 引用内容</div>
<div class="UBBContent">&nbsp;&nbsp; Div被Select挡住，是一个比较常见的问题。&nbsp;&nbsp; <br />
&nbsp;&nbsp;有的朋友通过把div的内容放入iframe或object里来解决。&nbsp;&nbsp; <br />
&nbsp;&nbsp;可惜这样会破坏页面的结构，互动性不大好。&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;这里采用的方法是：&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;虽说div直接盖不住select&nbsp;&nbsp; <br />
&nbsp;&nbsp;但是div可以盖iframe，而iframe可以盖select,&nbsp;&nbsp; <br />
&nbsp;&nbsp;所以，把一个iframe来当作div的底，&nbsp;&nbsp; <br />
&nbsp;&nbsp;这个div就可以盖住select了.&nbsp;&nbsp; <br />
</div>
</div>
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<div class="UBBPanel">
<div class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="引用内容" src="http://www.jojobox.cn/blog/images/quote.gif" /> 引用内容</div>
<div class="UBBContent"><br />
１"iframe&nbsp;&nbsp; 做为层的载体"后，&nbsp;&nbsp; <br />
&nbsp;&nbsp;层与主页面的互动是窗口间的互动&nbsp;&nbsp; <br />
&nbsp;&nbsp;２&#8220;用一个iframe当div的底&#8221;后，&nbsp;&nbsp; <br />
&nbsp;&nbsp;层与主页面的互动是窗口内的互动&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;另外，对于方法１，&nbsp;&nbsp; <br />
&nbsp;&nbsp;层的大小变化就会要求iframe的大小随着变化&nbsp;&nbsp; <br />
&nbsp;&nbsp;从主页面到这个层会导致window的blur.&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;对于方法２，&nbsp;&nbsp; <br />
&nbsp;&nbsp;只是在原有的div前加上这一句&nbsp;&nbsp; <br />
&nbsp;&nbsp;&lt;iframe&nbsp;&nbsp;&nbsp;&nbsp; style="position:absolute;z-index:9;width:e&shy;xpression(this.nextSibling.offsetWidth);height:e&shy;xpression(this.nextSibling.offsetHeight);top:e&shy;xpression(this.nextSibling.offsetTop);left:e&shy;xpression(this.nextSibling.offsetLeft);"&nbsp;&nbsp; frameborder="0"&nbsp;&nbsp; &gt;&lt;/iframe&gt; <br />
</div>
</div>
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;试用大家的方法之后发现还是有一点小问题，出来的是白色浮动，而不是本来应该出来的绿色浮动层。<br />
&nbsp;&nbsp;&nbsp;&nbsp;问题依然存在：<br />
&nbsp;&nbsp;&nbsp;&nbsp;<img alt="" src="http://www.jojobox.cn/blog/attachments/month_0712/62007129195550.jpg" border="0" /><br />
<br />
<strong><span style="font-size: 14pt">三、调试完成</span></strong><br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;最后发现应该稍作修改，一下代码是最终的方案：<br />
&nbsp;&nbsp;&nbsp;&nbsp;1、在iframe的style里面一定要加上z-index而且要设为-1,这样它就不会把原来的div层也一起覆盖掉。<br />
&nbsp;&nbsp;&nbsp;&nbsp;2、把&lt;iframe&gt;&lt;/iframe&gt;放在div层的上面就可以了。<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;
<div class="UBBPanel">
<div class="UBBTitle"><img style="margin: 0px 2px -3px 0px" alt="程序代码" src="http://www.jojobox.cn/blog/images/code.gif" /> 程序代码</div>
<div class="UBBContent"><br />
&lt;iframe&nbsp;&nbsp;&nbsp;&nbsp; style="position:absolute;z-index:-1;width:e&shy;xpression(this.nextSibling.offsetWidth);height:e&shy;xpression(this.nextSibling.offsetHeight);top:e&shy;xpression(this.nextSibling.offsetTop);left:e&shy;xpression(this.nextSibling.offsetLeft);"&nbsp;&nbsp; frameborder="0"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/iframe&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="submenutvc" id="tvc"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;汽车&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;化妆品&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;房地产&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;dl&gt;&lt;a href="#"&gt;日用品&lt;/a&gt;&lt;/dl&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
<br />
</div>
</div>
<br />
<br />
问题解决：<br />
<img alt="" src="http://www.jojobox.cn/blog/attachments/month_0712/b200712919594.jpg" border="0" /> </div>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1285020.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42942/" target="_blank">[新闻]Linux内核2.6.27正式到来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>CSS中expression使用简介</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/05/1285017.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Fri, 05 Sep 2008 03:49:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/05/1285017.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1285017.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/05/1285017.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1285017.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1285017.html</trackback:ping><description><![CDATA[<table cellspacing="0" cellpadding="10" align="left" border="0">
    <tr>
            <td></td>
        </tr>
    </table>
定义&nbsp;<br />
　　IE5及其以后版本支持在CSS中使用expression，用来把CSS属性和Javas&nbsp;cript表达式关联起来，这里的CSS属性可以是元素固有的属性，也可以是自定义属性。就是说CSS属性后面可以是一段Javas&nbsp;cript表达式，CSS属性的值等于Javas&nbsp;cript表达式计算的结果。&nbsp;在表达式中可以直接引用元素自身的属性和方法，也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。
<p>
<p>　　给元素固有属性赋值</p>
<p>　　例如，你可以依照浏览器的大小来安置一个元素的位置。</p>
<p>#myDiv&nbsp;{<br />
position:&nbsp;absolute;<br />
width:&nbsp;100px;<br />
height:&nbsp;100px;<br />
left:&nbsp;expression(document.body.offsetWidth&nbsp;-&nbsp;110&nbsp;+&nbsp;"px");<br />
top:&nbsp;expression(document.body.offsetHeight&nbsp;-&nbsp;110&nbsp;+&nbsp;"px");<br />
background:&nbsp;red;<br />
}</p>
<p>　　给元素自定义属性赋值</p>
<p>　　例如，消除页面上的链接虚线框。&nbsp;通常的做法是：</p>
<p>&lt;a&nbsp;href="link1.htm"&nbsp;onfocus="this.blur()"&gt;link1&lt;/a&gt;<br />
&lt;a&nbsp;href="link2.htm"&nbsp;onfocus="this.blur()"&gt;link2&lt;/a&gt;<br />
&lt;a&nbsp;href="link3.htm"&nbsp;onfocus="this.blur()"&gt;link3&lt;/a&gt;&nbsp;</p>
<p>　　粗看或许还体现不出采用expression的优势，但如果你的页面上有几十甚至上百个链接，这时的你难道还会机械式地Ctrl+C，Ctrl+V么，何况两者一比较，哪个产生的冗余代码更多呢？</p>
<p>　　采用expression的做法如下：&nbsp;</p>
<p>&lt;style&nbsp;type="text/css"&gt;<br />
a&nbsp;{star&nbsp;:&nbsp;expression(onfocus=this.blur)}<br />
&lt;/style&gt;<br />
&lt;a&nbsp;href="link1.htm"&gt;link1&lt;/a&gt;<br />
&lt;a&nbsp;href="link2.htm"&gt;link2&lt;/a&gt;<br />
&lt;a&nbsp;href="link3.htm"&gt;link3&lt;/a&gt;&nbsp;</p>
<p>　　说明：里面的star就是自己任意定义的属性，你可以随自己喜好另外定义，接着包含在expression()里的语句就是JS脚本，在自定义属性与expression之间可别忘了还有一个引号，因为实质还是CSS，所以放在style标签内，而非s&nbsp;cript内。OK，这样就很容易地用一句话实现了页面中的链接虚线框的消除。不过你先别得意，如果触发的特效是CSS的属性变化，那么出来的结果会跟你的本意有差别。例如你想随鼠标的移进移出而改变页面中的文本框颜色更改，你可能想当然的会认为应该写为&nbsp;</p>
<p>&lt;style&nbsp;type="text/css"&gt;<br />
input&nbsp;<br />
{star&nbsp;:&nbsp;expression(onmouseover=this.style.backgroundColor="#FF0000";<br />
onmouseout=this.style.backgroundColor="#FFFFFF")}<br />
&lt;/style&gt;<br />
&lt;style&nbsp;type="text/css"&gt;<br />
input&nbsp;{star&nbsp;:&nbsp;expression(onmouseover=this.style.backgroundColor="#FF0000";<br />
onmouseout=this.style.backgroundColor="#FFFFFF")}<br />
&lt;/style&gt;<br />
&lt;input&nbsp;type="text"&gt;<br />
&lt;input&nbsp;type="text"&gt;<br />
&lt;input&nbsp;type="text"&gt;</p>
<p>　　可结果却是出现脚本出错，正确的写法应该把CSS样式的定义写进函数内，如下所示：</p>
<p>&lt;style&nbsp;type="text/css"&gt;<br />
input&nbsp;{star&nbsp;:&nbsp;expression(onmouseover=function()<br />
{this.style.backgroundColor="#FF0000"},<br />
onmouseout=function(){this.style.backgroundColor="#FFFFFF"})&nbsp;}<br />
&lt;/style&gt;<br />
&lt;input&nbsp;type="text"&gt;<br />
&lt;input&nbsp;type="text"&gt;<br />
&lt;input&nbsp;type="text"&gt;&nbsp;</p>
<p>　　注意</p>
<p>　　不是非常需要，一般不建议使用expression，因为expression对浏览器资源要求比较高。</p>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1285017.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42942/" target="_blank">[新闻]Linux内核2.6.27正式到来</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>用.Net处理xmlHttp发送异步请求</title><link>http://www.cnblogs.com/goody9807/archive/2008/09/04/1283633.html</link><dc:creator>PointNet</dc:creator><author>PointNet</author><pubDate>Thu, 04 Sep 2008 01:54:00 GMT</pubDate><guid>http://www.cnblogs.com/goody9807/archive/2008/09/04/1283633.html</guid><wfw:comment>http://www.cnblogs.com/goody9807/comments/1283633.html</wfw:comment><comments>http://www.cnblogs.com/goody9807/archive/2008/09/04/1283633.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/goody9807/comments/commentRss/1283633.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/goody9807/services/trackbacks/1283633.html</trackback:ping><description><![CDATA[<p>最近正在拜读《Ajax in Action》这本书，运用书中知识，结合.net，写了这篇用.net 处理xmlHttp发送异步请求的文章。&nbsp;<br />
<br />
我们要达到的目的是点击按钮，获得服务器的当前时间，aspx的html如下： </p>
<p>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>
            <p>Html <br />
            &lt;%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" </p>
            <p>Inherits="Linkedu.Web.WebWWW.Default" %&gt; <br />
            <br />
            &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" </p>
            <p>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; <br />
            <br />
            &lt;html xmlns="http://www.w3.org/1999/xhtml" &gt; <br />
            &lt;head runat="server"&gt; <br />
            &lt;title&gt;测试&lt;/title&gt; <br />
            &lt;script language="javascript" src="javascript/prototype/extras-array.js"&gt;&lt;/script&gt; <br />
            &lt;script language="javascript" src="javascript/xmlHttp.js"&gt;&lt;/script&gt; <br />
            &lt;script language="javascript" src="javascript/eventRouter.js"&gt;&lt;/script&gt; <br />
            &lt;script language="javascript" src="Default.js"&gt;&lt;/script&gt; <br />
            &lt;script language="javascript"&gt; <br />
            <br />
            &lt;/script&gt; <br />
            &lt;/head&gt; <br />
            &lt;body&gt; <br />
            &lt;form id="form1" runat="server"&gt; <br />
            用Post方式获得服务器的当前时间 <br />
            &lt;input id="btnTestPost" type="button" value="Post" /&gt; <br />
            用Get方式获得服务器的当前时间 <br />
            &lt;input id="btnTestGet" type="button" value="Get" /&gt; <br />
            &lt;div id="divResult"&gt;&lt;/div&gt; <br />
            &lt;/form&gt; <br />
            &lt;/body&gt; <br />
            &lt;/html&gt;&nbsp;</p>
            </pre>
            </td>
        </tr>
    </table>
</p>
<p>要用javascript 发送xmlHttp 请求必须解决的问题是跨浏览器的支持。我们把xmlHttp的发送封装在一个javascript对象中，同时在这个对象中解决了跨浏览器支持的问题。代码如下：&nbsp;</p>
<p>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>
            <p>xmlHttp对象 </p>
            <p><br />
            /**//* <br />
            url-loading object and a request queue built on top of it <br />
            */ <br />
            <br />
            /**//* namespacing object */ <br />
            var net=new Object(); <br />
            <br />
            net.READY_STATE_UNINITIALIZED=0; <br />
            net.READY_STATE_LOADING=1; <br />
            net.READY_STATE_LOADED=2; <br />
            net.READY_STATE_INTERACTIVE=3; <br />
            net.READY_STATE_COMPLETE=4; &nbsp;&nbsp; <br />
            <br />
            /**//*--- content loader object for cross-browser requests ---*/ <br />
            net.xmlHttp=function(url, onload, params, method, contentType, onerror){ <br />
            this.req=null; <br />
            this.onload=onload; <br />
            this.onerror=(onerror) ? onerror : this.defaultError; <br />
            if(typeof(method) == "undefined" || method == null) <br />
            { <br />
            method = "POST"; <br />
            } <br />
            this.loadXMLDoc(url, params, method, contentType); <br />
            } <br />
            <br />
            net.xmlHttp.prototype.loadXMLDoc=function(url, params, method, contentType){ <br />
            if (!method){ <br />
            method="GET"; <br />
            } <br />
            if (!contentType &amp;&amp; method=="POST"){ <br />
            contentType='application/x-www-form-urlencoded'; <br />
            } <br />
            if (window.XmlHttpRequest){ <br />
            this.req=new XmlHttpRequest(); <br />
            } else if (window.ActiveXObject){ <br />
            this.req=new ActiveXObject("Microsoft.xmlHttp"); <br />
            } <br />
            if (this.req){ <br />
            try{ <br />
            var loader=this; <br />
            this.req.onreadystatechange=function(){ <br />
            net.xmlHttp.onReadyState.call(loader); <br />
            } <br />
            this.req.open(method,url,true); <br />
            if (contentType){ <br />
            this.req.setRequestHeader('Content-Type', contentType); <br />
            } <br />
            this.req.send(params); <br />
            }catch (err){ <br />
            this.onerror.call(this); <br />
            } <br />
            } <br />
            } &nbsp;&nbsp; <br />
            <br />
            net.xmlHttp.onReadyState=function(){ <br />
            var req=this.req; <br />
            var ready=req.readyState; <br />
            if (ready==net.READY_STATE_COMPLETE){ <br />
            var httpStatus=req.status; <br />
            if (httpStatus==200 || httpStatus==0){ <br />
            this.onload.call(this); <br />
            }else{ <br />
            this.onerror.call(this); <br />
            } <br />
            } <br />
            } <br />
            <br />
            net.xmlHttp.prototype.defaultError=function(){ <br />
            alert("error fetching data!" <br />
            +"\n\nreadyState:"+this.req.readyState <br />
            +"\nstatus: "+this.req.status <br />
            +"\nheaders: "+this.req.getAllResponseHeaders()); <br />
            }&nbsp;</p>
            </pre>
            </td>
        </tr>
    </table>
<br />
下面开始写发送xmlHttp请求的代码： </p>
<p>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>
            <p>default.js <br />
            //全局xmlHttp对象 <br />
            var cobj; <br />
            <br />
            /**//* Post begin*/ <br />
            //绑定Post发送xmlHttp事件到btnTestPost <br />
            function loadTestPost() <br />
            { <br />
            var iobj = document.getElementById("btnTestPost"); <br />
            //btnTestPost按钮监听的绑定 <br />
            var clickRouter=new jsEvent.EventRouter(iobj,"onclick"); <br />
            clickRouter.addListener(btnTestPostClick); <br />
            } <br />
            function btnTestPostClick() <br />
            { // open参数 url, onload, params, method, contentType, onerror <br />
            cobj = new net.xmlHttp("DefaultHandler.ashx",dealResult, "&lt;T/&gt;", "POST"); <br />
            } <br />
            /**//* Post end*/ <br />
            <br />
            <br />
            /**//* Get begin*/ <br />
            //绑定Get发送xmlHttp事件到btnTestGet <br />
            function loadTestGet() <br />
            { <br />
            var iobj = document.getElementById("btnTestGet"); <br />
            //btnTestGet按钮监听的绑定 <br />
            var clickRouter=new jsEvent.EventRouter(iobj,"onclick"); <br />
            clickRouter.addListener(btnTestGetClick); <br />
            } <br />
            function btnTestGetClick() <br />
            { // open参数 url, onload, params, method, contentType, onerror <br />
            cobj = new net.xmlHttp("DefaultHandler.ashx?T=1",dealResult, null, "GET"); <br />
            } <br />
            /**//* Get end*/ <br />
            <br />
            <br />
            <br />
            function dealResult() <br />
            { <br />
            var dobj = document.getElementById("divResult"); <br />
            dobj.innerHTML = cobj.req.responseXML.text; <br />
            } <br />
            <br />
            <br />
            window.onload = function() <br />
            { <br />
            //绑定Post发送xmlHttp事件到btnTestPost <br />
            loadTestPost(); <br />
            //绑定Get发送xmlHttp事件到btnTestGet <br />
            loadTestGet(); <br />
            };&nbsp;</p>
            </pre>
            </td>
        </tr>
    </table>
</p>
<p>最后是.net处理xmlHttp的代码： </p>
<p>
<table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1">
    <tr>
            <td class="code" bgcolor="#e6e6e6">
            <pre>
            <p>.net 处理xmlHttp请求 </p>
            <p><br />
            public class DefaultHandler : IHttpHandler <br />
            { <br />
            protected XmlDocument _xmlResult; <br />
            <br />
            public void ProcessRequest(HttpContext context) <br />
            { <br />
            if (context.Request["T"] != null) <br />
            {//GET xmlhttp测试 <br />
            context.Response.ContentType = "text/xml"; <br />
            XmlDocument xmlDoc = new XmlDocument(); <br />
            xmlDoc.LoadXml(string.Format(@"&lt;time&gt;GET:{0}&lt;/time&gt;", System.DateTime.Now)); <br />
            xmlDoc.Save(context.Response.OutputStream); <br />
            context.Response.End(); <br />
            } <br />
            else <br />
            {//POST xmlhttp测试 <br />
            context.Response.ContentType = "text/xml"; <br />
            XmlDocument xmlDoc = new XmlDocument(); <br />
            xmlDoc.Load(context.Request.InputStream); <br />
            if (xmlDoc.DocumentElement.Name == "T") <br />
            { <br />
            xmlDoc.LoadXml(string.Format(@"&lt;time&gt;POST:{0}&lt;/time&gt;", System.DateTime.Now)); <br />
            xmlDoc.Save(context.Response.OutputStream); <br />
            context.Response.End(); <br />
            } <br />
            } <br />
            } <br />
            <br />
            public bool IsReusable <br />
            { <br />
            get <br />
            { <br />
            return false; <br />
            } <br />
            } <br />
            }&nbsp;</p>
            </pre>
            </td>
        </tr>
    </table>
<br />
来源链接：<a href="http://www.cnblogs.com/Files/laiwen/XmlHttpNet.rar">http://www.cnblogs.com/Files/laiwen/XmlHttpNet.rar</a> ；<a href="http://www.cnblogs.com/laiwen/archive/2006/12/26/604050.html">http://www.cnblogs.com/laiwen/archive/2006/12/26/604050.html</a> </p>
<img src ="http://www.cnblogs.com/goody9807/aggbug/1283633.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/42941/" target="_blank">[新闻]《星际争霸2》一分为三 各种族依次登场</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>