<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[丰志强的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/MichaelFeng</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; MichaelFeng]]></copyright><item><title><![CDATA[人靠衣装马靠鞍[视频]：VS2008&amp;ASP.NET3.5之Themes&amp;Skins]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2309885</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2309885</guid><author>MichaelFeng</author><pubDate>Sun, 20 Apr 2008 21:04:00 +0800</pubDate><description><![CDATA[ CSS的作用仅仅局限在固定的样式属性，比如对HTML标签的边框、颜色等的控制，其并不能有效控制asp.net中的we服务器控件的相关属性，比如Login控件的布局属性Orientation。而Orientation选择为Vertical或者Horizontal，将会对页面的外观产生直接的影响，所以这就是Themes产生的原因。Themes和CSS两者需要相互配合，相辅相成。当你想对web]]></description><category></category></item><item><title><![CDATA[VS2008&C#3.5语言特色系列[视频]：部分方法（Partial Methods）]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2309868</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2309868</guid><author>MichaelFeng</author><pubDate>Sun, 20 Apr 2008 20:58:00 +0800</pubDate><description><![CDATA[  部分方法允许在类的一部分定义一个方法或一个事件，而在类的另一部分实现这个方法或事件，在定义这个方法或事件之后，在类的另一部分可以实现也可以不实现1.        部分方法必须用partial关键字作为修饰符2.        部分方法必须在部分类或者部分结构中应用3.        部分方法返回类型必须是void。4.        部分方法可以是静态方法，也可以是实例方]]></description><category></category></item><item><title><![CDATA[VS2008&C#3.5语言特色系列[视频]：扩展方法（Extension Methods） ]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2309860</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2309860</guid><author>MichaelFeng</author><pubDate>Sun, 20 Apr 2008 20:54:00 +0800</pubDate><description><![CDATA[ 扩展方法的作用：当你对某个类型想附加新的功能（方法），但是你不能得到或者无法去修改原类型的源码的时候。使用扩展方法的时候，并没有对原有的类型产生任何的影响，仅仅是在当前应用程序中对其扩展了功能。扩展方法必须是静态的，所以必须在静态类中去定义扩展方法必须使用this关键字修饰参数，this代表其所修饰的类型被扩展了功能，附加上了相应的扩展方法。扩展方法的参数可以有多个，但是只有第一]]></description><category></category></item><item><title><![CDATA[VS2008&C#3.5语言特色系列[视频]：自动属性（Automatic Properties）]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2308600</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2308600</guid><author>MichaelFeng</author><pubDate>Sun, 20 Apr 2008 10:21:00 +0800</pubDate><description><![CDATA[ VS2008通过一个叫“自动属性(automatic properties)”的语言特性提供了一个优雅的方式来使得你的编码更加简洁，同时还保持属性的灵活性。自动属性允许你避免手工声明一个私有成员变量以及编写get/set逻辑，取而代之的是，编译器会自动为你生成一个私有变量和默认的get/set 操作。标准的属性定义：     public class MichaelFeng ]]></description><category></category></item><item><title><![CDATA[VS2008&C#3.5语言特色系列[视频]：隐式类型的局部变量（Implicitly Typed Local Variables）]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2308593</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2308593</guid><author>MichaelFeng</author><pubDate>Sun, 20 Apr 2008 10:17:00 +0800</pubDate><description><![CDATA[ 编程语言可以分为两类：一种是强类型语言，譬如C#、JAVA、C++等，另外一类是弱类型语言，比如一些脚本语言javascript等。强类型语言是，变量在使用前必须定义，类型之间区分比较明显，如果两个类型不相容，则不能隐式的转换，必须进行显示转换。弱类型语言是，变量在使用前不要求必须定义，类型之间没有明显的界限，变量在使用时会自动转换为合适的目标类型。也就是说，强类型语言的变量必须有明确的类型，如]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之十:基于ACCESS等数据库的membership]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235661</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235661</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 12:22:00 +0800</pubDate><description><![CDATA[  Access providers源代码下载地址：http://msdn2.microsoft.com/en-us/asp.net/aa336558.aspx第一步：将下载得到的sampleaccessproviders.vsi的后缀改为rar并解压，继续将得到的名为ASP.NET Access Providers.zip解压，在所得文件中找到ASPNetDB.mdb和web.con]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之九:LoginView控件的高级应用]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235636</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235636</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 12:21:00 +0800</pubDate><description><![CDATA[  LoginView控件AnonymousTemplate>AnonymousTemplate>LoggedInTemplate>LoggedInTemplate>RoleGroups>asp: RoleGroup Roles=””>> ContentTemplate > asp: RoleGroup > RoleGroups >显示的优先级顺序：按顺序进行匹配，只显]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之八:PasswordRecovery控件的高级应用]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235610</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235610</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 12:19:00 +0800</pubDate><description><![CDATA[ PasswordRecovery控件密码类型为clear或者encrypted时，发送原始密码密码类型为Hashed时，发送随机密码如果想通过邮件的方式返回密码，那么你的机器必须正确的配置了SMTP服务器，并且用户必须拥有自己的邮箱你可以通过SmartTag的“管理网站”，之后选择“应用程序”选项卡，点击“配置SMTP”进行配置你也可以直接将密码显示在页面上，通过cPas]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之七:CreateUserWizard控件的高级应用]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235577</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235577</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 12:17:00 +0800</pubDate><description><![CDATA[ CreateUserWizard控件：CreateUserWizard等系列控件，其实在后台是利用了Membership类创建了一个新用户，默认的Membership处理程序首先创建了ASPNETDB.MDF数据库，然后将新用户的信息加入了数据库中。只不过微软对其进行了封装，所以表面上看来，我们没有编写一行的代码就创建了一个新用户。CreateUserWizard控件的重要属性如下：]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之六:Login控件的高级应用]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235539</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235539</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 12:14:00 +0800</pubDate><description><![CDATA[ 玩转Membership之六----- Login控件的高级应用Login控件：Login控件封装了验证控件、自动验证并转向或者提示错误信息、选中“下次记住我”复选框，自动存储用户信息到cookie Login控件有一些比较重要事件：LoggingIn：身份验证前触发LoggedIn：身份验证后触发LoginError：登录失败时触发Authenticat]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之五:底层三剑客：Membership、MembershipUser、Roles]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235336</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235336</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 11:38:00 +0800</pubDate><description><![CDATA[  玩转Membership之五-----底层三剑客：Membership、MembershipUser、Roles本部分内容主要对Membership类、MembershipUser类和Roles类的常用属性和方法进行详尽的介绍。Membership类属于System.Web.Security命名空间，其中包含了大量有用的静态方法。，下面列出最常用的一些静态方法 Crea]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之四:弃用ASPNETDB.MDF的Membership]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2235253</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2235253</guid><author>MichaelFeng</author><pubDate>Tue, 01 Apr 2008 11:18:00 +0800</pubDate><description><![CDATA[  玩转Membership之四----- 弃用ASPNETDB.MDF的Membership如果不想使用系统自动生成的ASPNETDB.MDF，而想使用自己原有的Sql数据库实现MemberShip，怎么办?     本部分会为您揭开谜底！ 在web.config中进行更改，如下：connectionString="Data Source=FengZh]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之三:web.config个性化Membership]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2224146</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2224146</guid><author>MichaelFeng</author><pubDate>Thu, 27 Mar 2008 22:23:00 +0800</pubDate><description><![CDATA[  玩转Membership之三----- web.config个性化Membership默认的Membership配置信息和数据库链接字符串存储在machine.config中。路径如下：C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIGmachine.config中对Membership的配置关键代码如下： ]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership视频之二:使用系列“登录控件”实现高效开发]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2224128</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2224128</guid><author>MichaelFeng</author><pubDate>Thu, 27 Mar 2008 22:15:00 +0800</pubDate><description><![CDATA[ 玩转Membership之二------使用系列“登录控件”实现高效开发Membership主要包括用户管理、角色管理和一系列相关的登录控件，下面我们来看看相关的7个登录控件：LoginLoginStatus：根据用户是否登陆，分别显示登陆链接或者注销链接LoginName：显示登录用户的用户名LoginView：根据用户是否登陆而显示不同的内容。你也可以根据用户或者角色的不同，利用这个控件]]></description><category></category></item><item><title><![CDATA[（视频）玩转Membership之一：使用WAT零距离了解Membership]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2224011</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2224011</guid><author>MichaelFeng</author><pubDate>Thu, 27 Mar 2008 21:26:00 +0800</pubDate><description><![CDATA[  玩转Membership之一------使用WAT零距离了解Membership在Membership出现之前，我们需要自己编码去维护网站的用户列表，同时在用户登录的时候，写逻辑代码去判断用户是否合法等之类的操作，而且还需要自己动手去制作登录窗口之类的页面，并且要决定哪些页面匿名用户可以访问，哪些页面只能由管理员才能访问。诸如此类的操作，虽然不是很复杂，但是由于其在项目中的普遍性，]]></description><category></category></item><item><title><![CDATA[强行杀死最近打开的Excel进程]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2217531</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2217531</guid><author>MichaelFeng</author><pubDate>Tue, 25 Mar 2008 19:40:00 +0800</pubDate><description><![CDATA[        System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");        System.DateTime startTime = new DateTime();        int m, killId = 0;        for (m = ]]></description><category></category></item><item><title><![CDATA[C#操作Excel时，Excel常用的方法和属性]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2217530</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2217530</guid><author>MichaelFeng</author><pubDate>Tue, 25 Mar 2008 19:39:00 +0800</pubDate><description><![CDATA[range.NumberFormatLocal = "@";     //设置单元格格式为文本range = (Range)worksheet.get_Range("A1", "E1");     //获取Excel多个单元格区域：本例做为Excel表头range.Merge(0);     //单元格合并动作worksheet.Cells[1, 1] = "Excel单元格赋值";     ]]></description><category></category></item><item><title><![CDATA[C#读取和写入Excel2003的代码]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2217525</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2217525</guid><author>MichaelFeng</author><pubDate>Tue, 25 Mar 2008 19:38:00 +0800</pubDate><description><![CDATA[单击“添加引用”对话框的“COM”选项卡，找到“Microsoft Excel 11 Object Library”，按“确定”。 注意：Microsoft Excel 11 Object Library中Excel 11 的版本与安装的OFFICE版本有关。在编程之前还需要引入命名空间using Microsoft.Office.Interop.Excel;注意：有的机器上需要用using Ex]]></description><category></category></item><item><title><![CDATA[抽象工厂模式，BLL层如何使用工厂的代码？]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2217523</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2217523</guid><author>MichaelFeng</author><pubDate>Tue, 25 Mar 2008 19:36:00 +0800</pubDate><description><![CDATA[ 说明：书写AbstractDALFactory的ChooseFactory()方法那一行时，如果先写等号右边的代码时，不会出现智能感知，只有先写等号左边的代码，才能出现  namespace MySchool.BLL...{    public static class ClassManager    ...{        //调用数据访问层统一数据访问方式        pr]]></description><category></category></item><item><title><![CDATA[如何创建不规则的Windows窗体？]]></title><link>https://blog.csdn.net/MichaelFeng/article/details/2217516</link><guid>https://blog.csdn.net/MichaelFeng/article/details/2217516</guid><author>MichaelFeng</author><pubDate>Tue, 25 Mar 2008 19:32:00 +0800</pubDate><description><![CDATA[方法1：利用Windows窗体的TransparencyKey属性实现优点：简单，无需编码；  缺点：如果用户显示器分辨率在24位以上会出问题步骤：将Form的BackgroundImage属性指定为要显示的位图；对TransparencyKey属性指定要隐藏的颜色方法2：利用编程方式实现优点：无论显示器分辨率是多少，都不会出问题；  缺点：编程复杂步骤1：新建一窗体，然后在load事件里面写]]></description><category></category></item></channel></rss>