﻿<?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>IT博客-Groovy—*—Johonny-文章分类-C Sharp </title><link>http://www.cnitblog.com/Groovy/category/8174.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 06 Oct 2011 16:52:58 GMT</lastBuildDate><pubDate>Thu, 06 Oct 2011 16:52:58 GMT</pubDate><ttl>60</ttl><item><title>控件随窗体自动缩放大小(c#2005)</title><link>http://www.cnitblog.com/Groovy/articles/56009.html</link><dc:creator>JOHONNY</dc:creator><author>JOHONNY</author><pubDate>Fri, 03 Apr 2009 08:29:00 GMT</pubDate><guid>http://www.cnitblog.com/Groovy/articles/56009.html</guid><wfw:comment>http://www.cnitblog.com/Groovy/comments/56009.html</wfw:comment><comments>http://www.cnitblog.com/Groovy/articles/56009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Groovy/comments/commentRss/56009.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Groovy/services/trackbacks/56009.html</trackback:ping><description><![CDATA[<div class=blogstory><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;控件随窗体自动缩放 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;/summary&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;///&nbsp;&lt;param&nbsp;name="frm"&gt;&lt;/param&gt; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;AutoScale(Form&nbsp;frm) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frm.Tag&nbsp;=&nbsp;frm.Width.ToString()&nbsp;+&nbsp;","&nbsp;+&nbsp;frm.Height.ToString(); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frm.SizeChanged&nbsp;+=&nbsp;new&nbsp;EventHandler(frm_SizeChanged); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;void&nbsp;frm_SizeChanged(object&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;string[]&nbsp;tmp&nbsp;=&nbsp;((Form)sender).Tag.ToString().Split(','); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;width&nbsp;=&nbsp;(float)((Form)sender).Width&nbsp;/&nbsp;(float)Convert.ToInt16(tmp[0]); <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;heigth&nbsp;=&nbsp;(float)((Form)sender).Height&nbsp;/&nbsp;(float)Convert.ToInt16(tmp[1]); <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((Form)sender).Tag&nbsp;=&nbsp;((Form)sender).Width.ToString()&nbsp;+&nbsp;","&nbsp;+&nbsp;((Form)sender).Height; <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;foreach&nbsp;(Control&nbsp;control&nbsp;in&nbsp;((Form)sender).Controls) <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;control.Scale(new&nbsp;SizeF(width,&nbsp;heigth)); <br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} <br><br>注：如果窗口需要在一开始就最大化，请在最大化前调用此方法。</div>
<img src ="http://www.cnitblog.com/Groovy/aggbug/56009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Groovy/" target="_blank">JOHONNY</a> 2009-04-03 16:29 <a href="http://www.cnitblog.com/Groovy/articles/56009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用C#创建可拖动窗体</title><link>http://www.cnitblog.com/Groovy/articles/56001.html</link><dc:creator>JOHONNY</dc:creator><author>JOHONNY</author><pubDate>Fri, 03 Apr 2009 05:26:00 GMT</pubDate><guid>http://www.cnitblog.com/Groovy/articles/56001.html</guid><wfw:comment>http://www.cnitblog.com/Groovy/comments/56001.html</wfw:comment><comments>http://www.cnitblog.com/Groovy/articles/56001.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Groovy/comments/commentRss/56001.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Groovy/services/trackbacks/56001.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
窗体的移动
<p>　　我们来观察鼠标在窗体内的位置和窗体的移动，很容易可以发现：在窗体被拖动的过程中，鼠标在窗体内的相对位置是始终不变的！那么，我们只要检测到鼠标在屏幕中的移动并修改窗体的位置就可以达到拖动窗体的目的！<br>　　我们知道，在鼠标消息/事件处理中，只能得到鼠标相对于窗体的位置。那么，如何知道鼠标在屏幕中的位置呢？这里又要提到一个类：System.Windows.Forms.Control类。也许你会很吃惊：这不是所有控件的基类么？呵呵~是这样di。不过，尽管是这样，Control类却没有像其他广泛使用的基类那样被声明为抽象类，而且它提供了一个静态属性：MousePosition，通过这个属性可以得到鼠标相对于屏幕的位置。有关Control类的信息可以在.NET Framework文档目录&#8220;.NET Framework SDK -&gt; 参考 -&gt; 类库 -&gt; System.Windows.Forms -&gt; Control 类&#8221;处找到（注：这里的超链接只在您安装了.NET Framework 1.1简体中文版并且安装了配套文档时才有效）。</p>
<p>　　知道了如何获取这些信息之后，制作移动窗体实际上就成了一个很简单的问题了。基本过程是这样的：首先，在鼠标（左键或一个你喜欢的键）按下时，记录鼠标位置；由于在移动的过程中，鼠标的屏幕坐标发生变化但窗体相对坐标不变，我们可以推算出窗体位置的变化为（假设mousePosition具有System.Drawing.Point类型，表示鼠标在窗体中的相对坐标）：</p>
<p>
<table borderColor=#55aaff cellSpacing=0 cellPadding=0 rules=none width=500 align=center bgColor=#ddedfb border=1>
    <tbody>
        <tr>
            <td width=10><br></td>
            <td>　　// 示例代码1<br>　　Form.Top = Control.MousePosition.Y - mousePosition.Y;<br>　　Form.Left = Control.MousePosition.X - mousePosition.X;</td>
        </tr>
    </tbody>
</table>
</p>
<p>　　这样还不行，因为我们的mousePosition表示的是鼠标在窗体用户区内的相对坐标，但在移动窗体的时候还要考虑窗体标题栏和边框的尺寸。在上面的基础上，我们将代码修正为：</p>
<p>
<table borderColor=#55aaff cellSpacing=0 cellPadding=0 rules=none width=500 align=center bgColor=#ddedfb border=1>
    <tbody>
        <tr>
            <td width=10><br></td>
            <td>　　// 示例代码2<br>　　Form.Top = Control.MousePosition.Y - mousePosition.Y<br>　　- SystemInformation.FrameBorderSize.Height - SystemInformation.CaptionHeight;<br>　　Form.Left = Control.MousePosition.Y - mousePosition.Y<br>　　- SystemInformation.FrameBorderSize.Width;</td>
        </tr>
    </tbody>
</table>
</p>
<p>　　也就是说，在高度上（纵坐标）要减去标题栏的高度和边框的高度，而在宽度上（横坐标）要减去边框的宽度。然而，当制作一个既没有标题栏也没有边框的可拖动窗体时，使用&#8220;示例代码1&#8221;所示的代码就可以了。</p>
<p>　　上面的代码只是一个示范性代码。具体的操作如下：</p>
<p>　　首先，为窗体添加一个私有域：</p>
<p>
<table borderColor=#55aaff cellSpacing=0 cellPadding=0 rules=none width=500 align=center bgColor=#ddedfb border=1>
    <tbody>
        <tr>
            <td width=10><br></td>
            <td>　　private System.Drawing.Point mousePoint;</td>
        </tr>
    </tbody>
</table>
</p>
<p>　　然后，为窗体添加鼠标按下事件处理方法（我这里是MainForm_MouseDown，别忘了将该方法链接到MainForm.MouseDown事件，这不用多说了吧？）：</p>
<p>
<table borderColor=#55aaff cellSpacing=0 cellPadding=0 rules=none width=500 align=center bgColor=#ddedfb border=1>
    <tbody>
        <tr>
            <td width=10><br></td>
            <td>　　private void MainForm_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) {<br>　　if(e.Button == MouseButtons.Left) {<br>　　this.mousePosition.X = e.X;<br>　　this.mousePosition.Y = e.Y;<br>　　}<br>　　}</td>
        </tr>
    </tbody>
</table>
</p>
<p>　　在这里注意对鼠标按键进行筛选。</p>
<p>　　接下来，为窗体添加鼠标移动事件处理方法（我这里是MainForm_MouseMove）：</p>
<p>
<table borderColor=#55aaff cellSpacing=0 cellPadding=0 rules=none width=500 align=center bgColor=#ddedfb border=1>
    <tbody>
        <tr>
            <td width=10><br></td>
            <td>　　private void MainForm_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {<br>　　if(e.Button == MouseButtons.Left) {<br>　　Form.Top = Control.MousePosition.Y - mousePosition.Y<br>　　- SystemInformation.FrameBorderSize.Height - SystemInformation.CaptionHeight;<br>　　Form.Left = Control.MousePosition.Y - mousePosition.Y<br>　　- SystemInformation.FrameBorderSize.Width;<br>　　}<br>　　}</td>
        </tr>
    </tbody>
</table>
</p>
<img src ="http://www.cnitblog.com/Groovy/aggbug/56001.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Groovy/" target="_blank">JOHONNY</a> 2009-04-03 13:26 <a href="http://www.cnitblog.com/Groovy/articles/56001.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>函数 方法  功能</title><link>http://www.cnitblog.com/Groovy/articles/55996.html</link><dc:creator>JOHONNY</dc:creator><author>JOHONNY</author><pubDate>Fri, 03 Apr 2009 02:31:00 GMT</pubDate><guid>http://www.cnitblog.com/Groovy/articles/55996.html</guid><wfw:comment>http://www.cnitblog.com/Groovy/comments/55996.html</wfw:comment><comments>http://www.cnitblog.com/Groovy/articles/55996.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Groovy/comments/commentRss/55996.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Groovy/services/trackbacks/55996.html</trackback:ping><description><![CDATA[<p>函数 语法 功能 <br>Len Len(string|varname) 返回字符串内字符的数目，或是存储一变量所需的字节数。 <br>Trim Trim(string) 将字符串前后的空格去掉 <br>Ltrim Ltrim(string) 将字符串前面的空格去掉 <br>Rtrim Rtrim(string) 将字符串后面的空格去掉 <br>Mid Mid(string,start,length) 从string字符串的start字符开始取得length长度的字符串，如果省略第三个参数表示从start字符开始到字符串结尾的字符串 </p>
<p>Left Left(string,length) 从string字符串的左边取得length长度的字符串 <br>Right Right(string,length) 从string字符串的右边取得length长度的字符串 <br>LCase LCase(string) 将string字符串里的所有大写字母转化为小写字母 <br>UCase UCase(string) 将string字符串里的所有大写字母转化为大写字母 <br>StrComp StrComp(string1,string2[，compare]) 返回string1字符串与string2字符串的比较结果，如果两个字符串相同，则返回0，如果小于则返回-1，如果大于则返回1 </p>
<p>InStr InStr(string1,string2[, compare]) 返回string1字符串在string2字符串中第一次出现的位置 <br>Split Split(string1,delimiter[, count[, start]]) 将字符串根据delimiter拆分成一维数组，其中delimiter用于标识子字符串界限。如果省略，使用空格("")作为分隔符。 <br>count 返回的子字符串数目，-1 指示返回所有子字符串。 <br>start为 1 执行文本比较；如果为 0 或者省略执行二进制比较。 <br>Replace Replace(expression, find, replacewith[, compare[, count[, start]]]) 返回字符串，其中指定数目的某子字符串(find)被替换为另一个子字符串(replacewith)。 </p>
<p>1、Len函数示例： <br>下面的示例利用 Len 函数返回字符串中的字符数目： <br>Dim MyString <br>MyString = Len("VBSCRIPT") ''MyString 包含 8。</p>
<p>2、Trim、Ltrim、Rtrim函数示例： <br>下面的示例利用 LTrim, RTrim, 和 Trim 函数分别用来除去字符串开始的空格、尾部空格、 开始和尾部空格： <br>Dim MyVar <br>MyVar = LTrim(" vbscript ") ''MyVar 包含 "vbscript "。 <br>MyVar = RTrim(" vbscript ") ''MyVar 包含 " vbscript"。 <br>MyVar = Trim(" vbscript ") ''MyVar 包含"vbscript"。 </p>
<p><br>3、Mid函数示例： <br>下面的示例利用 Mid 函数返回字符串中从第四个字符开始的六个字符： <br>Dim MyVar <br>MyVar = Mid("VB脚本is fun!", 4, 6) ''MyVar 包含 "Script"。 </p>
<p><br>4、Left函数示例：<br>下面的示例利用Left 函数返回MyString 的左边三个字母： <br>Dim MyString, LeftString <br>MyString = "VBSCript" <br>LeftString = Left(MyString, 3) ''LeftString 包含 "VBS </p>
<p>5、Right函数示例： <br>下面的示例利用 Right 函数从字符串右边返回指定数目的字符： <br>Dim AnyString, MyStr <br>AnyString = "Hello World" ''定义字符串。 <br>MyStr = Right(AnyString, 1) ''返回 "d"。 <br>MyStr = Right(AnyString, 6) '' 返回 " World"。 <br>MyStr = Right(AnyString, 20) '' 返回 "Hello World"。 </p>
<p>6、LCase函数示例： <br>下面的示例利用 LCase 函数把大写字母转换为小写字母： <br>Dim MyString <br>Dim LCaseString <br>MyString = "VBSCript" <br>LCaseString = LCase(MyString) '' LCaseString 包含 "vbscript"。 </p>
<p>7、 UCase函数示例： <br>下面的示例利用 UCase 函数返回字符串的大写形式： <br>Dim MyWord <br>MyWord = UCase("Hello World") '' 返回"HELLO WORLD"。 </p>
<p><br>8、StrComp函数示例： <br>下面的示例利用 StrComp 函数返回字符串比较的结果。如果第三个参数为 1 执行文本比较；如果第三个参数为 0 或者省略执行二进制比较。 </p>
<p>Dim MyStr1, MyStr2, MyComp <br>MyStr1 = "ABCD": MyStr2 = "abcd" ''定义变量。 <br>MyComp = StrComp(MyStr1, MyStr2, 1) '' 返回 0。 <br>MyComp = StrComp(MyStr1, MyStr2, 0) '' 返回 -1。 <br>MyComp = StrComp(MyStr2, MyStr1) '' 返回 1。 </p>
<p><br>9、InStr示例： <br>下面的示例利用 InStr 搜索字符串： <br>Dim SearchString, SearchChar, MyPos <br>SearchString ="XXpXXpXXPXXP" <br>SearchChar = "P" <br>MyPos = Instr(SearchString, SearchChar)''返回 9. <br>注意：返回的不是一个字符串在另一个字符串中第一次出现的字符位置，而是字节位置。 </p>
<p><br>10、Split函数示例： <br>Dim MyString, MyArray, Msg <br>MyString = "VBScriptXisXfun!" <br>MyArray = Split(MyString, "x",-1,1) <br>'' MyArray(0) contains "VBScript". <br>'' MyArray(1) contains "is". <br>'' MyArray(2) contains "fun!". <br>Response.Write(MyArray(0)) </p>
<p><br>11、Replace函数示例： <br>Replace("ABCD", "BC", "12") ''得到A12D </p>
<p>&nbsp;C#中System.string类中Split()实例方式的用法？ <br>&nbsp; Split()的用法&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;split(a)意指以字符串中的a为轴，把他两边的字符串分别取出来作为一个数组的一个元素，空字符串也算。<br>例：string s = "abc" 可定义字符串数组string[] st = s.split(b),则st = {a,b}.<br>当string s = "aaabccc"时，字符串数组string[] st = s.split(b),则st = {"aaa","bbb"}，st长度为2，如果要索引的字符串中不包含split()中的参数，则数组st就只有原字符串一个元素，其长度为1。当string s = "abc"时，st = s.split(a),则st = {"","bc"}，其长度仍为2，由此可见，当s.split()中的参数在S中时数组st.length&gt;= 2,不在时st.length = 1； <br></p>
<img src ="http://www.cnitblog.com/Groovy/aggbug/55996.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Groovy/" target="_blank">JOHONNY</a> 2009-04-03 10:31 <a href="http://www.cnitblog.com/Groovy/articles/55996.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C#窗体的最大化/最小化/还原/最小化到托盘/NotifyIcon的代码实现</title><link>http://www.cnitblog.com/Groovy/articles/55993.html</link><dc:creator>JOHONNY</dc:creator><author>JOHONNY</author><pubDate>Fri, 03 Apr 2009 02:03:00 GMT</pubDate><guid>http://www.cnitblog.com/Groovy/articles/55993.html</guid><wfw:comment>http://www.cnitblog.com/Groovy/comments/55993.html</wfw:comment><comments>http://www.cnitblog.com/Groovy/articles/55993.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/Groovy/comments/commentRss/55993.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/Groovy/services/trackbacks/55993.html</trackback:ping><description><![CDATA[<p>1.最小化<br>WindowState = FormWindowState.Minimized;<br>//最小化时隐藏窗体<br>this.Visible=false;<br>2.最大化<br>WindowState == FormWindowState.Maximized;<br>3.还原为正常<br>WindowState == FormWindowState.Normal;<br>4.在托盘显示<br>&nbsp;打开 VS.net的工具箱，然后选择NotifyIcon,拖到Form上,在属性中Icon中设置图象添加一个ContextMenu,输入需要的选择项在 NotifyIcon中的ContextMenu属性中可以设置刚添加的ContextMenu 点托盘上的图标 就可以显示选择项&nbsp; <br>实例部分代码:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #region 还原窗体<br>&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); <span class=Gpl144></span><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; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br>&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;&nbsp;<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; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br>&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; <font color=#ffffff></font><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; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #endregion<br>&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(); <span class=Gpl144></span><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>
<img src ="http://www.cnitblog.com/Groovy/aggbug/55993.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/Groovy/" target="_blank">JOHONNY</a> 2009-04-03 10:03 <a href="http://www.cnitblog.com/Groovy/articles/55993.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>