<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://msmvps.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Carlos Mattos</title><link>http://msmvps.com/blogs/cmattos/default.aspx</link><description>Carlos vive com sua familia em Sorocaba/SP e dedica-se ao desenvolvimento de soluções para plataforma .NET.</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>PDF da Palestra WPF para Desenvolvedores WindowsForms (TechEdBrasil 2009)</title><link>http://msmvps.com/blogs/cmattos/archive/2009/08/27/pdf-da-palestra-wpf-para-desenvolvedores-windowsforms-techedbrasil-2009.aspx</link><pubDate>Thu, 27 Aug 2009 16:54:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1718732</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1718732</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/08/27/pdf-da-palestra-wpf-para-desenvolvedores-windowsforms-techedbrasil-2009.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/2555.teched2009thumb.jpg"&gt;&lt;img height="130" width="194" src="http://msmvps.com/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/2555.teched2009thumb.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pessoal, conforme prometido, aqui est&amp;aacute; o link para baixar o PDF da minha palestra WPF para Desenvolvedores WindowsForms apresentada durante o TechEdBrasil 2009. &lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/8422.DEV202_5F00_CarlosMattos.pdf"&gt;http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/8422.DEV202_5F00_CarlosMattos.pdf&lt;/a&gt;. Estou concluindo um artigo aborando todas as demos&amp;nbsp; apresentadas nesta palestra. Este artigo ser&amp;aacute; disponibilizado aqui no meu Blog, no portal Linha de C&amp;oacute;digo e no MSDN Brasil Online. Por favor, comentem, participem, enviem suas d&amp;uacute;vidas por e-mail. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1718732" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Xbox 360, ingressos para o Tech-Ed, oportunidades de estágios e uma viagem para Seattle. Só depende de você!</title><link>http://msmvps.com/blogs/cmattos/archive/2009/06/19/xbox-360-ingressos-para-o-tech-ed-oportunidades-de-est-225-gios-e-uma-viagem-para-seattle-s-243-depende-de-voc-234.aspx</link><pubDate>Fri, 19 Jun 2009 18:02:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1695871</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1695871</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/06/19/xbox-360-ingressos-para-o-tech-ed-oportunidades-de-est-225-gios-e-uma-viagem-para-seattle-s-243-depende-de-voc-234.aspx#comments</comments><description>&lt;p&gt;&lt;a target="_blank" href="http://www.WinThe7.com.br"&gt;&lt;img src="http://msmvps.com/resized-image.ashx/__size/275x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/3731.WinThe7.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="font-size:10pt;"&gt;Teste seus conhecimentos sobre o&lt;strong&gt; Windows 7&lt;/strong&gt; participando do desafio &lt;strong&gt;WIN THE 7&lt;/strong&gt;. Os vencedores concorrem a&lt;strong&gt; Xbox 360&lt;/strong&gt; e a entradas para o &lt;strong&gt;Tech-Ed Brasil 2009&lt;/strong&gt;. Al&amp;eacute;m disto os estudantes ganhar&amp;atilde;o est&amp;aacute;gios em empresas de tecnologia e o vencedor da categoria profissionais ir&amp;aacute; at&amp;eacute; a sede da &lt;strong&gt;Microsoft &lt;/strong&gt;em &lt;strong&gt;Seattle&lt;/strong&gt; conhecer os engenheiros&amp;nbsp;que trabalharam no desenvolvimento do &lt;strong&gt;Windows 7&lt;/strong&gt;.&lt;strong&gt; &lt;/strong&gt;N&amp;atilde;o perca esta oportunidade! Visite agora mesmo o site &lt;/span&gt;&lt;a href="http://www.WinThe7.com.br"&gt;&lt;span style="font-size:10pt;"&gt;www.WinThe7.com.br&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt; e fa&amp;ccedil;a sua inscri&amp;ccedil;&amp;atilde;o!&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1695871" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Educa_26002300_231_3B0026002300_227_3B00_o/default.aspx">Educa&amp;#231;&amp;#227;o</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Comunidade+Acad_26002300_234_3B00_mica/default.aspx">Comunidade Acad&amp;#234;mica</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Windows+7/default.aspx">Windows 7</category></item><item><title>Evento sobre Programa de Certificação Microsoft em Sorocaba</title><link>http://msmvps.com/blogs/cmattos/archive/2009/06/15/evento-sobre-programa-de-certifica-231-227-o-microsoft-em-sorocaba.aspx</link><pubDate>Mon, 15 Jun 2009 15:00:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1695460</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1695460</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/06/15/evento-sobre-programa-de-certifica-231-227-o-microsoft-em-sorocaba.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;No pr&amp;oacute;ximo dia &lt;strong&gt;03/07/2009&lt;/strong&gt; ser&amp;aacute; realizado no audit&amp;oacute;rio principal do&amp;nbsp;&lt;strong&gt;FIT (Flextronics Institute of Technology)&lt;/strong&gt; o evento sobre o &lt;strong&gt;Programa de Certifica&amp;ccedil;&amp;atilde;o Microsoft&lt;/strong&gt;. Os seguintes pontos ser&amp;atilde;o abordados durante este evento: O Programa de Certifica&amp;ccedil;&amp;atilde;o, as 10 Certifica&amp;ccedil;&amp;otilde;es Mais Procuradas, O Valor da Certifica&amp;ccedil;&amp;atilde;o no Mercado, A Nova Gera&amp;ccedil;&amp;atilde;o de Certifica&amp;ccedil;&amp;otilde;es, A Import&amp;acirc;ncia dos Simulados e Como escolher sua Primeira Certifica&amp;ccedil;&amp;atilde;o. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;Al&amp;eacute;m do conte&amp;uacute;do sobre o &lt;strong&gt;Programa de Certifica&amp;ccedil;&amp;atilde;o&lt;/strong&gt;, tamb&amp;eacute;m abordarei o &lt;strong&gt;Programa Microsoft Most Valuable Professional (MVP)&lt;/strong&gt; para esclarecer d&amp;uacute;vidas de muitos colaboradores que me procuram para saber como tornar-se um &lt;strong&gt;MVP&lt;/strong&gt;. N&amp;atilde;o perca esta oportunidade! O evento &amp;eacute; totalmente gratuito, para inscrver-se basta enviar um e-mail para &lt;/span&gt;&lt;/span&gt;&lt;a href="mailto:Raphaelli.Foz@br.flextronics.com"&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;Raphaelli.Foz@br.flextronics.com&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/5707.banner_5F00_Certificado.jpg"&gt;&lt;img width="300" src="http://msmvps.com/resized-image.ashx/__size/250x0/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/5707.banner_5F00_Certificado.jpg" border="0" style="border:0;" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1695460" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Educa_26002300_231_3B0026002300_227_3B00_o/default.aspx">Educa&amp;#231;&amp;#227;o</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Comunidade+Acad_26002300_234_3B00_mica/default.aspx">Comunidade Acad&amp;#234;mica</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Sorocaba/default.aspx">Sorocaba</category></item><item><title>Microsoft anuncia o novo Bing!</title><link>http://msmvps.com/blogs/cmattos/archive/2009/05/29/microsoft-anuncia-o-novo-bing.aspx</link><pubDate>Fri, 29 May 2009 18:18:41 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693409</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1693409</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/05/29/microsoft-anuncia-o-novo-bing.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Bing&lt;/strong&gt; é o novo buscador da &lt;strong&gt;Microsoft&lt;/strong&gt;. E, com um site demonstrativo na rede, já tem data de lançamento prevista para funcionar: &lt;strong&gt;quarta-feira, 3 de junho&lt;/strong&gt;.
&lt;/p&gt;&lt;p&gt;A confirmação do nome foi dada por &lt;strong&gt;Steve Ballmer&lt;/strong&gt;, no dia 28/05/2009, em conferência do &amp;quot;&lt;strong&gt;All Things Digital&lt;/strong&gt;&amp;quot;, promovido pelo &lt;strong&gt;Wall Street Journal&lt;/strong&gt;. O CEO, na apresentação, até brincou que a alcunha não deveria ser &lt;strong&gt;Kumo&lt;/strong&gt;, como antes era previsto, nem &lt;strong&gt;Bing&lt;/strong&gt;, e sim, &amp;quot;&lt;strong&gt;Boom!&lt;/strong&gt;&amp;quot;, em alusão ao grande barulho que o lançamento causará.
&lt;/p&gt;&lt;p&gt;O &lt;strong&gt;DiscoveryBing&lt;/strong&gt;, que aparece relacionado a URL do site original (&lt;strong&gt;www.bing.com&lt;/strong&gt;), tem a função de preparar os usuários para a ferramenta que está por vir. Não que ela seja de uso complexo, ou bem diferente dos outros sites de pesquisa, mas há uma série de vídeos explicativos e depoimentos da equipe que participou da criação desta nova ferramenta. 
&lt;/p&gt;&lt;p&gt;Visite &lt;a href="http://www.discoverbing.com/"&gt;&lt;strong&gt;http://www.DiscoverBing.com/&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;
		&lt;/strong&gt;para obter maiores informações!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693409" width="1" height="1"&gt;</description></item><item><title>Visual Studio 2010 Disponível para Download!!</title><link>http://msmvps.com/blogs/cmattos/archive/2009/05/27/visual-studio-2010-dispon-237-vel-para-download.aspx</link><pubDate>Wed, 27 May 2009 12:07:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1693240</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1693240</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/05/27/visual-studio-2010-dispon-237-vel-para-download.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;font-size:10pt;"&gt;&lt;img height="97" width="168" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/VisualStudio.gif" alt="Visual Studio 2010" style="border:0;" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;font-size:10pt;"&gt;A nova gera&amp;ccedil;&amp;atilde;o das ferramentas de desenvolvimento da &lt;strong&gt;Microsoft&lt;/strong&gt;, formada pelo &lt;strong&gt;Visual Studio 2010&lt;/strong&gt; e pelo &lt;strong&gt;.NET&amp;nbsp;Framework&amp;nbsp;4.0&lt;/strong&gt;,&amp;nbsp;j&amp;aacute; est&amp;aacute; dispon&amp;iacute;vel para download p&amp;uacute;blico.&amp;nbsp;&amp;nbsp;Todos os desenvolvedores podem&amp;nbsp;baixar&amp;nbsp;o &lt;strong&gt;Visual Studio 2010 (Beta 1)&lt;/strong&gt;&amp;nbsp;atrav&amp;eacute;s do&amp;nbsp;endere&amp;ccedil;o &lt;/span&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" title="Visual Studio 2010 Download"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;font-size:10pt;"&gt;http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial,helvetica,sans-serif;font-size:10pt;"&gt;.&amp;nbsp;N&amp;atilde;o deixe de fazer o download dos&amp;nbsp;novos exemplos elaborados para esta vers&amp;atilde;o do &lt;strong&gt;Visual Studio&lt;/strong&gt;, visite o endere&amp;ccedil;o &lt;/span&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/dd238515.aspx" title="Visual Studio 2010 Exemplos"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;font-size:10pt;"&gt;http://msdn.microsoft.com/en-us/dd238515.aspx&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial,helvetica,sans-serif;font-size:10pt;"&gt;. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1693240" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Descubra o MSN NEXT</title><link>http://msmvps.com/blogs/cmattos/archive/2009/05/22/descubra-o-msn-next.aspx</link><pubDate>Fri, 22 May 2009 12:48:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692937</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1692937</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/05/22/descubra-o-msn-next.aspx#comments</comments><description>&lt;p&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Calibri;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-fareast-theme-font:minor-latin;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;a target="_blank" href="http://next.br.msn.com" title="Next MSN"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="line-height:115%;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Calibri;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;mso-fareast-theme-font:minor-latin;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;O &lt;b style="mso-bidi-font-weight:normal;"&gt;MSN Next&lt;/b&gt; &amp;eacute; um projeto-piloto para testar uma nova experi&amp;ecirc;ncia de navega&amp;ccedil;&amp;atilde;o para o usu&amp;aacute;rio. Nesta nova vers&amp;atilde;o do portal voc&amp;ecirc; poder&amp;aacute; acompanhar as not&amp;iacute;cias do Brasil e do mundo atrav&amp;eacute;s de artigos, fotos e v&amp;iacute;deos, saber o que acontece no mundo dos famosos, com flagras, festas, moda, entrevistas e muito mais. Al&amp;eacute;m de viajar pelo Brasil e mundo conferir dicas, fotos e v&amp;iacute;deos, pesquisar pre&amp;ccedil;os, reservar hotel e passagens. Clique nos artigos, fotos e v&amp;iacute;deos relacionados. Quanto mais voc&amp;ecirc; navegar pelas p&amp;aacute;ginas do &lt;b style="mso-bidi-font-weight:normal;"&gt;MSN Next&lt;/b&gt;, mais elas se ajustar&amp;atilde;o &amp;agrave;s suas prefer&amp;ecirc;ncias. Al&amp;eacute;m do mais, ao arrastar e soltar o conte&amp;uacute;do voc&amp;ecirc; poder&amp;aacute; compartilh&amp;aacute;-lo na hora com seus amigos do &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Live Messenger&lt;/b&gt;. Visite agora mesmo: &lt;/span&gt;&lt;a href="http://next.br.msn.com/"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;color:#800080;"&gt;Next MSN&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1692937" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/MSN/default.aspx">MSN</category></item><item><title>Microsoft vai mostrar novo sistema de buscas</title><link>http://msmvps.com/blogs/cmattos/archive/2009/05/22/microsoft-vai-mostrar-novo-sistema-de-buscas.aspx</link><pubDate>Fri, 22 May 2009 12:32:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1692935</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1692935</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/05/22/microsoft-vai-mostrar-novo-sistema-de-buscas.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;img height="110" width="110" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/MicrosoftKumo.jpg" alt="Microsoft Kumo" style="vertical-align:text-top;border:0;" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;A &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; deve apresentar na pr&amp;oacute;xima semana a nova vers&amp;atilde;o de seu sistema de buscas, em mais uma tentativa de concorrer com o &lt;b style="mso-bidi-font-weight:normal;"&gt;Google&lt;/b&gt; e o &lt;b style="mso-bidi-font-weight:normal;"&gt;Yahoo!&lt;/b&gt;, que lideram o mercado. De acordo com o jornal &amp;quot;&lt;b style="mso-bidi-font-weight:normal;"&gt;Wall Street Journal&lt;/b&gt;&amp;quot;, o sistema est&amp;aacute; em testes internos h&amp;aacute; alguns meses. Veja a mat&amp;eacute;ria completa no site da &lt;/span&gt;&lt;a href="http://www1.folha.uol.com.br/folha/informatica/ult124u568752.shtml"&gt;&lt;span style="font-family:arial,helvetica,sans-serif;color:#800080;"&gt;Folha&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;span style="font-family:arial,helvetica,sans-serif;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1692935" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Kumo/default.aspx">Kumo</category></item><item><title>Palestra de WPF/Silverlight na 1ª SECOT UFSCar Sorocaba</title><link>http://msmvps.com/blogs/cmattos/archive/2009/05/05/palestra-de-wpf-silverlight-na-1-170-secot-ufscar-sorocaba.aspx</link><pubDate>Tue, 05 May 2009 14:42:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1691898</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1691898</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/05/05/palestra-de-wpf-silverlight-na-1-170-secot-ufscar-sorocaba.aspx#comments</comments><description>&lt;p class="MsoNormal" style="line-height:normal;margin:0cm 0cm 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;A &lt;b style="mso-bidi-font-weight:normal;"&gt;UFSCar Sorocaba&lt;/b&gt; realizar&amp;aacute; na pr&amp;oacute;xima segunda-feira, dia 11/05/2009, a &lt;b style="mso-bidi-font-weight:normal;"&gt;1&amp;ordf; Semana de Computa&amp;ccedil;&amp;atilde;o e Tecnologia (SECOT)&lt;/b&gt;. Participarei do evento apresentando uma palestra sobre &lt;b style="mso-bidi-font-weight:normal;"&gt;WPF/Silverlight&lt;/b&gt;. Confira abaixo a agenda completa: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpFirst" style="line-height:normal;text-indent:-18pt;margin:0cm 0cm 0pt 36pt;mso-layout-grid-align:none;mso-list:l0 level1 lfo1;mso-add-space:auto;"&gt;&lt;span style="font-family:Symbol;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;09h00 - 09h30:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt; Abertura da 1&amp;ordf; SECOT&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="line-height:normal;text-indent:-18pt;margin:0cm 0cm 0pt 36pt;mso-layout-grid-align:none;mso-list:l0 level1 lfo1;mso-add-space:auto;"&gt;&lt;span style="font-family:Symbol;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;09h30 - 12h00:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt; Bate Papo: Programas de Forma&amp;ccedil;&amp;atilde;o Microsoft (Palestrante: Ricardo Slavov) Workshop: Infra-Estrutura de TI e Tend&amp;ecirc;ncias da Virtualiza&amp;ccedil;&amp;atilde;o Parte 1 (Palestrante: Ricardo Slavov) (Faremos a pausa para o caf&amp;eacute;) Demonstra&amp;ccedil;&amp;atilde;o Infra-Estrutura de TI e Tend&amp;ecirc;ncias da Virtualiza&amp;ccedil;&amp;atilde;o Parte 2 (Palestrante: Paulo Dutra)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="line-height:normal;text-indent:-18pt;margin:0cm 0cm 0pt 36pt;mso-layout-grid-align:none;mso-list:l0 level1 lfo1;mso-add-space:auto;"&gt;&lt;span style="font-family:Symbol;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;12h00 - 15h00:&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Arial Unicode MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-hansi-font-family:Arial;"&gt;　&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt;Programas de Forma&amp;ccedil;&amp;atilde;o Microsoft: Seja Um Profissional 5 Estrelas ou Um Desenvolvedor Cinco Estrelas (Instrutor: Laerte)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpMiddle" style="line-height:normal;text-indent:-18pt;margin:0cm 0cm 0pt 36pt;mso-layout-grid-align:none;mso-list:l0 level1 lfo1;mso-add-space:auto;"&gt;&lt;span style="font-family:Symbol;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt;15h00 - 19h00:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt; Mini curso: Conhecendo o Visual Web Developer 2008 (Instrutor:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Arial Unicode MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-hansi-font-family:Arial;"&gt;　&lt;/span&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt;Alexsandro Deliberali) &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraphCxSpLast" style="line-height:normal;text-indent:-18pt;margin:0cm 0cm 0pt 36pt;mso-layout-grid-align:none;mso-list:l0 level1 lfo1;mso-add-space:auto;"&gt;&lt;span style="font-family:Symbol;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol;"&gt;&lt;span style="mso-list:Ignore;"&gt;&amp;middot;&lt;span style="font:7pt &amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt;19h30 - 21h00:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt; Palestra: Desenvolvendo Aplica&amp;ccedil;&amp;otilde;es Ricas com WPF e Silverlight&lt;/span&gt;&lt;span style="font-family:&amp;#39;Arial Unicode MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-hansi-font-family:Arial;"&gt;　&lt;/span&gt;&lt;span style="font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Arial Unicode MS&amp;#39;;"&gt; (Palestrante: &lt;b style="mso-bidi-font-weight:normal;"&gt;Carlos Mattos&lt;/b&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1691898" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/WPF/default.aspx">WPF</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Broadcast sobre Agile Development com Steve McConnell (Imperdível!)</title><link>http://msmvps.com/blogs/cmattos/archive/2009/04/02/broadcast-sobre-agile-development-com-steve-mcconnell-imperd-237-vel.aspx</link><pubDate>Thu, 02 Apr 2009 19:54:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1684337</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1684337</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/04/02/broadcast-sobre-agile-development-com-steve-mcconnell-imperd-237-vel.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;a href="http://tig.cmptechnetwork.com/cgi-bin4/DM/y/nBQJG0RuDY40ZIp0HFMb0E2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Right Sizing Agile Development&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;&lt;br /&gt;&lt;b&gt;Broadcast date: Thursday, April 16, 2009&lt;/b&gt;&lt;br /&gt;Time: 12 pm PT / 3 pm ET &lt;span style="color:#ff0000;"&gt;&lt;strong&gt;(16h00min no Brasil)&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Duration: One hour&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;br /&gt;&lt;b&gt;Overview&lt;/b&gt;&lt;br /&gt;Agile development has now been in use for almost a decade. Why use &lt;b style="mso-bidi-font-weight:normal;"&gt;Agile&lt;/b&gt; methods? What are the strengths of &lt;b style="mso-bidi-font-weight:normal;"&gt;Agile&lt;/b&gt;? What are some common failure modes? What other lessons has the software industry learned about &lt;b style="mso-bidi-font-weight:normal;"&gt;Agile&lt;/b&gt; development?&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;In this talk, &lt;b style="mso-bidi-font-weight:normal;"&gt;Steve McConnell&lt;/b&gt;-author of &lt;b style="mso-bidi-font-weight:normal;"&gt;Code Complete&lt;/b&gt;, &lt;b style="mso-bidi-font-weight:normal;"&gt;Rapid Development&lt;/b&gt;, and other software industry classics and CEO of &lt;b style="mso-bidi-font-weight:normal;"&gt;Construx&lt;/b&gt; Software-draws on Construx&amp;#39;s extensive consulting work to dissect Agile development. McConnell names the &lt;b style="mso-bidi-font-weight:normal;"&gt;Agile&lt;/b&gt; practices that have worked well for Construx&amp;#39;s clients, describes the failure modes of &lt;b style="mso-bidi-font-weight:normal;"&gt;Agile&lt;/b&gt; practices that have failed to live up to the hype, and explains how to right size &lt;b style="mso-bidi-font-weight:normal;"&gt;Agile development&lt;/b&gt; for your organization.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;"&gt;Who Should Attend&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;&lt;br /&gt;Managers, project managers, technical leads, QA leads, software engineers, software developers, and anyone else who wants to learn about Agile software development.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;a target="_blank" href="http://tig.cmptechnetwork.com/cgi-bin4/DM/y/nBQJG0RuDY40ZIp0HFMb0E2"&gt;&lt;span style="mso-ansi-language:EN-US;"&gt;Register Now!&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;"&gt;&lt;img height="133" width="135" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/steve_5F00_mcconnell.JPG%20" alt="Steve McConnell (Construx Software)" style="float:left;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;Steve McConnell is CEO and Chief Software Engineer at Construx Software where he writes books and articles, teaches classes, and oversees Construx&amp;#39;s software development practices. Steve is the author of: Software Estimation: Demystifying the Black Art (2006), Code Complete (1993, 2004), Rapid Development (1996), Software Project Survival Guide (1998), and Professional Software Development (2004). His first two books won Software Development magazine&amp;#39;s Jolt Excellence award for best programming books of their years.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;Steve has worked in the desktop software industry since 1984 and has expertise in rapid development methodologies, project estimation, software construction practices, and third-party contract management. In 1998, readers of Software Development magazine named Steve one of the three most influential people in the software industry along with Bill Gates and Linus Torvalds. Steve was Editor in Chief of IEEE Software magazine from 1998-2002.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Steve is on the Panel of Experts that advises the Software Engineering Body of Knowledge (SWEBOK) project and was Chair of the IEEE Computer Society&amp;#39;s Professional Practices Committee. Steve earned a Bachelor&amp;#39;s degree from Whitman College and a Master&amp;#39;s degree in software engineering from Seattle University.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;a target="_blank" href="http://tig.cmptechnetwork.com/cgi-bin4/DM/y/nBQJG0RuDY40ZIp0HFMb0E2"&gt;Register Now!&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1684337" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Comunidade+Acad_26002300_234_3B00_mica/default.aspx">Comunidade Acad&amp;#234;mica</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Eventos/default.aspx">Eventos</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Desenvolvedor/default.aspx">Desenvolvedor</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Developer/default.aspx">Developer</category></item><item><title>Edward Bear e o Desenvolvimento de Softwares (Steve McConnell)</title><link>http://msmvps.com/blogs/cmattos/archive/2009/04/02/edward-bear-e-o-desenvolvimento-de-softwares-steve-mcconnell.aspx</link><pubDate>Thu, 02 Apr 2009 19:31:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1684322</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1684322</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/04/02/edward-bear-e-o-desenvolvimento-de-softwares-steve-mcconnell.aspx#comments</comments><description>&lt;p&gt;&lt;img height="288" width="203" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/edward_5F00_bear1_5F00_0.jpg" alt="Edward Bear" style="float:left;" /&gt;&lt;/p&gt;
&lt;p align="center" class="MsoNormal" style="text-align:center;margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt;&amp;rdquo;Here is Edward Bear, coming downstairs now, bump, bump, bump on the back of his head, behind Christopher Robin. It is, as far as he knows, the only way of coming downstairs, but sometimes he feels that there really is another way, if only he could stop bumping for a moment and think of it. And then he feels that perhaps there isn&amp;rsquo;t. &amp;ldquo;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p align="center" class="MsoNormal" style="text-align:center;margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;Por mais de uma gera&amp;ccedil;&amp;atilde;o, projetos de desenvolvimento de software t&amp;ecirc;m falhado sem uma boa raz&amp;atilde;o. Esses projetos n&amp;atilde;o alcan&amp;ccedil;aram o estado da arte no desenvolvimento de software. Eles n&amp;atilde;o ultrapassaram os limites de pesquisas em &amp;aacute;reas espec&amp;iacute;ficas. Eles falharam simplesmente porque n&amp;atilde;o podiam suportar o pr&amp;oacute;prio peso. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;Assim como o urso Edward, desenvolvedores de software, gerentes de projeto e seus clientes, batem a cabe&amp;ccedil;a na escada sempre da mesma forma, projeto ap&amp;oacute;s projeto. O percurso que eles seguem &amp;eacute; sempre familiar, por&amp;eacute;m ineficiente, fadado ao erro, e tamb&amp;eacute;m doloroso. &lt;br /&gt;&lt;br /&gt;A sobreviv&amp;ecirc;ncia de um projeto n&amp;atilde;o acontece acidentalmente. O trabalho exigido para o sucesso de um projeto n&amp;atilde;o &amp;eacute; especialmente dif&amp;iacute;cil, e tamb&amp;eacute;m n&amp;atilde;o &amp;eacute; apenas um fator que consome tempo, mas precisa ser executado de forma disciplinar desde o primeiro at&amp;eacute; o &amp;uacute;ltimo dia do projeto. &lt;br /&gt;&lt;br /&gt;A pr&amp;aacute;tica do desenvolvimento de software avan&amp;ccedil;ou at&amp;eacute; um ponto onde poucos projetos de m&amp;eacute;dio porte est&amp;atilde;o destinados ao fracasso. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;Quando os desenvolvedores, gerentes e clientes pararem de bater suas cabe&amp;ccedil;as contra os mesmos e velhos problemas e come&amp;ccedil;arem a preocupar-se em adquirir as habilidades necess&amp;aacute;rias, seus projetos ter&amp;atilde;o sucesso. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Steve McConnell&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;Software Project Survival Guide&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft Press&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p align="center" class="MsoNormal" style="text-align:center;margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;
&lt;p align="center" class="MsoNormal" style="text-align:center;margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1684322" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Desenvolvedor/default.aspx">Desenvolvedor</category></item><item><title>Comunicação e Colaboração</title><link>http://msmvps.com/blogs/cmattos/archive/2009/04/02/comunica-231-227-o-e-colabora-231-227-o.aspx</link><pubDate>Thu, 02 Apr 2009 19:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1684313</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1684313</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/04/02/comunica-231-227-o-e-colabora-231-227-o.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Verdadeiros programadores aprendem como trabalhar em equipe. Escrever c&amp;oacute;digo de forma leg&amp;iacute;vel &amp;eacute; parte de ser um programador que trabalha em equipe. &lt;br /&gt;&lt;br /&gt;O computador provavelmente l&amp;ecirc; seu programa t&amp;atilde;o frequentemente quanto outros membros da sua equipe o fazem, mas ele &amp;eacute; muito melhor na tarefa de ler um c&amp;oacute;digo pobre do que as pessoas que trabalham com voc&amp;ecirc;.&lt;br /&gt;&lt;br /&gt;Quando estiver codificando, como sugest&amp;atilde;o, tenha sempre em mente que outros colegas da equipe provavelmente ter&amp;atilde;o que ler seu c&amp;oacute;digo.&lt;br /&gt;Programar &amp;eacute;, em primeiro lugar, comunicar-se com outro programador, em segundo lugar comunicar-se com o computador.&lt;br /&gt;&lt;br /&gt;Existem v&amp;aacute;rios n&amp;iacute;veis atribu&amp;iacute;dos aos programadores:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;N&amp;iacute;vel 1: Principiante&lt;/b&gt;&lt;br /&gt;Um programador Beginner &amp;eacute; capaz de utilizar os recursos b&amp;aacute;sicos de uma linguagem. Neste n&amp;iacute;vel, o programador pode escrever rotinas, loops, estruturas condicionais entre outros recursos da linguagem.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;N&amp;iacute;vel 2: Intermedi&amp;aacute;rio&lt;/b&gt;&lt;br /&gt;Um programador de n&amp;iacute;vel intermedi&amp;aacute;rio &amp;eacute; capaz de utilizar os recursos b&amp;aacute;sicos de v&amp;aacute;rias linguagens e tem dom&amp;iacute;nio para trabalhar confortavelmente com pelo menos uma linguagem.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;N&amp;iacute;vel 3: Especialista&lt;br /&gt;&lt;/b&gt;Um programador especialista domina todos os recursos de uma linguagem ou de um ambiente de desenvolvimento, ou os dois. Programadores neste n&amp;iacute;vel s&amp;atilde;o valiosos para suas empresas, e alguns programadores nunca v&amp;atilde;o al&amp;eacute;m deste n&amp;iacute;vel.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;N&amp;iacute;vel 4: Guru&lt;/b&gt;&lt;br /&gt;Um Guru, possui as caracter&amp;iacute;sticas de um especialista (N&amp;iacute;vel 3) e reconhece que apenas 15% da tarefa de programar refere-se &amp;agrave; comunicar-se com o computador e 85% refere-se a comunicar-se com pessoas. Estudos mostram que, em m&amp;eacute;dia, apenas 30% dos programadores desenvolvem trabalhos sozinhos. Um Guru escreve c&amp;oacute;digo para pessoas ao inv&amp;eacute;s de escrev&amp;ecirc;-lo para m&amp;aacute;quinas. Os verdadeiros Gurus escrevem c&amp;oacute;digo verdadeiramente cristalinos e adequadamente documentado tamb&amp;eacute;m. Gurus n&amp;atilde;o tem interesse em desperdi&amp;ccedil;ar suas c&amp;eacute;lulas cinzas reconstruindo a l&amp;oacute;gica de uma se&amp;ccedil;&amp;atilde;o de c&amp;oacute;digo que n&amp;atilde;o foi devidamente escrito/documentado de forma correta.&lt;br /&gt;&lt;br /&gt;Um grande programador que n&amp;atilde;o se preocupa com a legibilidade do seu c&amp;oacute;digo, por maior que seja seu conhecimento, provavelmente nunca passar&amp;aacute; do N&amp;iacute;vel 3. Apesar que esta afirma&amp;ccedil;&amp;atilde;o dificilmente &amp;eacute; apresentada num cen&amp;aacute;rio real. A principal causa de programadores escreverem c&amp;oacute;digo de m&amp;aacute; qualidade &amp;eacute; que o c&amp;oacute;digo deles &amp;eacute; ruim mesmo. Eles n&amp;atilde;o costumam dizer &amp;ldquo;Vou escrever meu c&amp;oacute;digo de uma maneira dif&amp;iacute;cil de entender&amp;rdquo;. Eles simplesmente n&amp;atilde;o possuem conhecimento suficiente para escrever um c&amp;oacute;digo realmente leg&amp;iacute;vel, o que os coloca no N&amp;iacute;vel 1 ou N&amp;iacute;vel 2.&lt;br /&gt;&lt;br /&gt;Exemplos de piores c&amp;oacute;digos que j&amp;aacute; tive oportunidade de examinar, incluiam vari&amp;aacute;veis com nomes como: X, XX, XXX XX1, XX2, T, Y, entre outros. Nomes de objetos como: TextBox38, DropDown22, e por a&amp;iacute; afora.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Conclus&amp;atilde;o&lt;/b&gt;&lt;br /&gt;N&amp;atilde;o &amp;eacute; pecado ser um programador iniciante ou intermedi&amp;aacute;rio. N&amp;atilde;o &amp;eacute; pecado ser um programador especialista ao inv&amp;eacute;s de um guru. O pecado est&amp;aacute; em quanto tempo voc&amp;ecirc; se manter&amp;aacute; entre os n&amp;iacute;veis de iniciante e especialista depois de saber o que tem que ser feito para melhorar seu c&amp;oacute;digo.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Code Complete, 2nd Edition&lt;br /&gt;Steve McConnell&lt;br /&gt;Microsoft Press&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1684313" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Educa_26002300_231_3B0026002300_227_3B00_o/default.aspx">Educa&amp;#231;&amp;#227;o</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Comunidade+Acad_26002300_234_3B00_mica/default.aspx">Comunidade Acad&amp;#234;mica</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Desenvolvedor/default.aspx">Desenvolvedor</category></item><item><title>Criptografando dados com C# e MD5</title><link>http://msmvps.com/blogs/cmattos/archive/2009/04/02/criptografando-dados-com-c-e-md5.aspx</link><pubDate>Thu, 02 Apr 2009 19:13:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1684310</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1684310</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/04/02/criptografando-dados-com-c-e-md5.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O exemplo abaixo demonstra como criptografar dados utilizando &lt;b style="mso-bidi-font-weight:normal;"&gt;C#&lt;/b&gt; e o algor&amp;iacute;tmo &lt;b style="mso-bidi-font-weight:normal;"&gt;MD5&lt;/b&gt;. O &lt;b style="mso-bidi-font-weight:normal;"&gt;Namespace System.Security.Cryptography&lt;/b&gt; oferece os recursos necess&amp;aacute;rios para esta implementa&amp;ccedil;&amp;atilde;o. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;using &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:black;font-size:10pt;"&gt;System.Security.Cryptography;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;...&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; GetMD5Hash(&lt;span style="color:blue;"&gt;string&lt;/span&gt; input)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;MD5&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; md5Hasher = &lt;span style="color:teal;"&gt;MD5&lt;/span&gt;.Create();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;byte&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;[] data = md5Hasher.ComputeHash(&lt;span style="color:teal;"&gt;Encoding&lt;/span&gt;.Default.GetBytes(input));&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;StringBuilder&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; sBuilder = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:teal;"&gt;StringBuilder&lt;/span&gt;();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;for&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; (&lt;span style="color:blue;"&gt;int&lt;/span&gt; i = 0; i &amp;lt; data.Length; i++)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;sBuilder.Append(data.ToString(&lt;span style="color:maroon;"&gt;&amp;quot;x2&amp;quot;&lt;/span&gt;));&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;return&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; sBuilder.ToString();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1684310" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Abrindo Formulários Dinamicamente C# (Windows Forms)</title><link>http://msmvps.com/blogs/cmattos/archive/2009/04/02/abrindo-formul-225-rios-dinamicamente-c-windows-forms.aspx</link><pubDate>Thu, 02 Apr 2009 19:08:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1684308</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1684308</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/04/02/abrindo-formul-225-rios-dinamicamente-c-windows-forms.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Introdu&amp;ccedil;&amp;atilde;o&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Uma tarefa comum no desenvolvimento de solu&amp;ccedil;&amp;otilde;es &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Forms&lt;/b&gt; &amp;eacute; a necessidade de instanciar formul&amp;aacute;rios com base no nome da classe, ou seja, como o desenvolvedor pode abrir um formul&amp;aacute;rio dinamicamente (programaticamente) passando o nome deste formul&amp;aacute;rio (classe) como string. Isto &amp;eacute; muito comum quando h&amp;aacute; necessidade de criarmos menus populados dinamicamente a partir de uma base de dados. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Problema&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Apesar de representar uma necessidade comum em aplica&amp;ccedil;&amp;otilde;es &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Forms&lt;/b&gt;, ainda h&amp;aacute; muitas d&amp;uacute;vidas entre os desenvolvedores de como implementar corretamente um procedimento para instanciar um formul&amp;aacute;rio dinamicamente. Faltam exemplos sobre esse tipo pr&amp;aacute;tica e os que est&amp;atilde;o dispon&amp;iacute;veis na Web n&amp;atilde;o s&amp;atilde;o facilmente encontrados e na maioria das vezes s&amp;atilde;o apresentados em outro idioma. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Solu&amp;ccedil;&amp;atilde;o&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Uma constru&amp;ccedil;&amp;atilde;o simples com o m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;CreateInstance&lt;/b&gt; do objeto &lt;b style="mso-bidi-font-weight:normal;"&gt;Activator&lt;/b&gt; permite implementar esta funcionalidade. &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Veja o c&amp;oacute;digo abaixo: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; OpenForm(&lt;span style="color:blue;"&gt;string&lt;/span&gt; Namespace_FormName, &lt;span style="color:blue;"&gt;bool&lt;/span&gt; System_Modal)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;Type&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; t = &lt;span style="color:teal;"&gt;Type&lt;/span&gt;.GetType(Namespace_FormName);&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; (t != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Windows.Forms.&lt;span style="color:teal;"&gt;Form&lt;/span&gt; f = &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(System.Windows.Forms.&lt;span style="color:teal;"&gt;Form&lt;/span&gt;)&lt;span style="color:teal;"&gt;Activator&lt;/span&gt;.CreateInstance(t);&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt; (System_Modal)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.ShowDialog();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;else&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.Show();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Instanciando um formul&amp;aacute;rio implementado em outro assembly&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Com uma constru&amp;ccedil;&amp;atilde;o semelhante, &amp;eacute; poss&amp;iacute;vel iniciar um formul&amp;aacute;rio implementado eu outro assembly. Basta modificar o c&amp;oacute;digo acima para incluir informa&amp;ccedil;&amp;otilde;es sobre o assembly externo. O exemplo abaixo mostra como iniciar um formul&amp;aacute;rio (MDIChild) contido em outro assembly e centraliz&amp;aacute;-lo no MDI: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;privatevoid&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:black;font-size:10pt;"&gt; OpenChildFormFromExternalAssembly(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;string Full_Namespace_Class, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;string Root_Namespace, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;string Assembly_Version, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;string Assembly_Culture,&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;string Assembly_PublicKeyToken,&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;bool System_Modal)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;{&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;Type&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt; t = &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;Type&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;.GetType(Full_Namespace_Class + &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;"&gt;&amp;quot;,&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt; + Root_Namespace&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;+ &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;"&gt;&amp;quot;, Version=&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt; + Assembly_Version&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;+ &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;"&gt;&amp;quot;, Culture=&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt; + Assembly_Culture&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;+ &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;"&gt;&amp;quot;, PublicKeyToken=&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt; + Assembly_PublicKeyToken);&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;if (t != null)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;{&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Windows.Forms.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;Form&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt; f = &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;(System.Windows.Forms.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;Form&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;Activator&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;.CreateInstance(t);&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.MdiParent = this;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;int TopMargin = 0;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;int LeftMargin = 0;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LeftMargin = ((this.Width - f.Width) / 2) + this.Left;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;TopMargin = ((this.Height - f.Height) / 2) + this.Top - 50;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.StartPosition = &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:teal;font-size:10pt;"&gt;FormStartPosition&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;.Manual;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.Top = TopMargin;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.Left = LeftMargin;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if (System_Modal)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;"&gt;f.ShowDialog();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;color:blue;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;else&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;f.Show();&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Arial;color:black;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:Arial;color:black;font-size:10pt;mso-ansi-language:PT-BR;"&gt;As linhas abaixo demonstram como invocar o procedimento acima passando os par&amp;acirc;metros necess&amp;aacute;rios: &lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;OpenChildFormFromExternalAssembly(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;quot;EIS.Presentation.frmTipoEis&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;, &lt;span style="color:olive;"&gt;// Namespace completo&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;quot;EIS&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;, &lt;span style="color:olive;"&gt;// Root Namespace&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;quot;1.0.0.0&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;, &lt;span style="color:olive;"&gt;// Assembly Version (AssemblyInfo.cs)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;quot;neutral&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;, &lt;span style="color:olive;"&gt;// Cultura (Default=neutral)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:maroon;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;quot;null&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;, &lt;span style="color:olive;"&gt;// PublicKeyToken (Default=null)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;"&gt;false&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;);&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-size:12pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1684308" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Windows+Forms/default.aspx">Windows Forms</category></item><item><title>Microsoft Brasil 20 Anos!</title><link>http://msmvps.com/blogs/cmattos/archive/2009/03/19/microsoft-brasil-20-anos.aspx</link><pubDate>Thu, 19 Mar 2009 13:05:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1679494</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1679494</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/03/19/microsoft-brasil-20-anos.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;img height="150" width="150" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/150x150_5F00_20anos.jpg" alt="Microsoft Brasil 20 Anos" style="float:left;" /&gt;&lt;span style="font-size:10pt;"&gt;Voc&amp;ecirc; sabia que este ano a &lt;strong&gt;Microsoft&lt;/strong&gt; faz 20 Anos no Brasil? &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;E voc&amp;ecirc; faz parte da festa! &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Para iniciar as comemora&amp;ccedil;&amp;otilde;es, a &lt;strong&gt;Microsoft&lt;/strong&gt; est&amp;aacute; promovendo um &lt;strong&gt;Concurso Cultural&lt;/strong&gt; que selecionar&amp;aacute; o novo &lt;strong&gt;Selo Comemorativo de 20 Anos da Microsoft Brasil&lt;/strong&gt;. Participe!&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:10pt;"&gt;Entre &lt;a target="_blank" href="http://www.microsoftbrasil20anos.com.br/" title="Microsoft Brasil 20 Anos!"&gt;aqui&lt;/a&gt; e confira os pr&amp;ecirc;mios!&lt;/span&gt; &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1679494" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Microsoft Health Common User Interface (CUI)</title><link>http://msmvps.com/blogs/cmattos/archive/2009/02/26/microsoft-health-common-user-interface-cui.aspx</link><pubDate>Thu, 26 Feb 2009 12:17:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1674068</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1674068</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/02/26/microsoft-health-common-user-interface-cui.aspx#comments</comments><description>&lt;p&gt;&lt;img height="350" width="378" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/microsoft_5F00_health.JPG" alt="Microsoft Health CUI Demonstrator" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O &lt;b&gt;Microsoft Health CUI Patient Journey Demonstrator&lt;/b&gt; &amp;eacute; um ve&amp;iacute;culo usado pela &lt;b&gt;Microsoft&lt;/b&gt; para demonstrar o poder do &lt;b&gt;Silverlight&lt;/b&gt; e &lt;b&gt;WPF&lt;/b&gt; para criar interfaces ricas e proporcionar uma excelente experi&amp;ecirc;ncia visual para o usu&amp;aacute;rio, especialmente na &amp;aacute;rea da sa&amp;uacute;de.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O &lt;b&gt;Microsoft Health CUI Patient Journey Demonstrator&lt;/b&gt; oferece diversos exemplos de implementa&amp;ccedil;&amp;atilde;o de &lt;b&gt;Rich Interface Applications&lt;/b&gt; utilizando a plataforma &lt;b&gt;Microsoft&lt;/b&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;Eacute; o showcase da &lt;b&gt;Microsoft&lt;/b&gt; para novas id&amp;eacute;ias, experi&amp;ecirc;ncias e artefatos com o prop&amp;oacute;sito de aprender e refletir sobre o futuro do desenvolvimento do &lt;b&gt;Microsoft Health CUI&lt;/b&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Este exemplo pode ser muito &amp;uacute;til como refer&amp;ecirc;ncia para desenvolvimento de aplica&amp;ccedil;&amp;otilde;es ricas. Vale a pena visitar. Acesse o link &lt;a href="http://www.mscui.net/PatientJourneyDemonstrator/"&gt;&lt;span style="color:#800080;"&gt;http://www.mscui.net/PatientJourneyDemonstrator/&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1674068" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/WPF/default.aspx">WPF</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Windows Azure será lançado no fim do ano, afirma Steve Ballmer</title><link>http://msmvps.com/blogs/cmattos/archive/2009/02/26/windows-azure-ser-225-lan-231-ado-no-fim-do-ano-afirma-steve-ballmer.aspx</link><pubDate>Thu, 26 Feb 2009 11:04:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1674050</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1674050</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/02/26/windows-azure-ser-225-lan-231-ado-no-fim-do-ano-afirma-steve-ballmer.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; planeja lan&amp;ccedil;ar o &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Azure&lt;/b&gt;, vers&amp;atilde;o do sistema operacional para &lt;b style="mso-bidi-font-weight:normal;"&gt;cloud computing&lt;/b&gt;, antes do final do ano, anunciou o &lt;b style="mso-bidi-font-weight:normal;"&gt;Chief Executive Officer&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;CEO&lt;/b&gt;) da empresa, &lt;b style="mso-bidi-font-weight:normal;"&gt;Steve Ballmer&lt;/b&gt;, na ter&amp;ccedil;a-feira (24/02).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Em coment&amp;aacute;rios feitos para analistas de &lt;b style="mso-bidi-font-weight:normal;"&gt;Wall Street&lt;/b&gt; sobre o status financeiro da &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt;, &lt;b style="mso-bidi-font-weight:normal;"&gt;Ballmer&lt;/b&gt; disse que a empresa ter&amp;aacute; &amp;quot;a habilidade de chegar ao mercado&amp;quot; com o &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt; no final deste ano durante a &lt;b style="mso-bidi-font-weight:normal;"&gt;Professional Developers Conference&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;PDC&lt;/b&gt;), em novembro.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt; vai concorrer com o &lt;b style="mso-bidi-font-weight:normal;"&gt;Elastic Compute Cloud&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;EC2&lt;/b&gt;), da &lt;b style="mso-bidi-font-weight:normal;"&gt;Amazon&lt;/b&gt;, como um ambiente de hospedagem &amp;lsquo;escal&amp;aacute;vel&amp;rsquo; no qual os desenvolvedores podem criar e hospedar suas aplica&amp;ccedil;&amp;otilde;es.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Os desenvolvedores podem usar as ferramentas j&amp;aacute; conhecidas da linguagem &lt;b style="mso-bidi-font-weight:normal;"&gt;.NET&lt;/b&gt; para criar aplica&amp;ccedil;&amp;otilde;es no &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Azure&lt;/b&gt;, que usa a tecnologia de virtualiza&amp;ccedil;&amp;atilde;o da &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; para separar as aplica&amp;ccedil;&amp;otilde;es rodando em diferentes sistemas operacionais.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt; foi apresentado pela &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; em outubro do ano passado, durante a &lt;b style="mso-bidi-font-weight:normal;"&gt;PDC 2008&lt;/b&gt;, mas a companhia ainda n&amp;atilde;o havia anunciado uma data para lan&amp;ccedil;ar o servi&amp;ccedil;o.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Na semana passada, &lt;b style="mso-bidi-font-weight:normal;"&gt;Doug Hauger&lt;/b&gt;, gerente geral de marketing e estrat&amp;eacute;gias de neg&amp;oacute;cios da &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; para servi&amp;ccedil;os de &lt;b style="mso-bidi-font-weight:normal;"&gt;cloud computing&lt;/b&gt;, disse a um grupo de investidores que a empresa divulgaria em breve os valores cobrados pelo &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Hauger&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt; disse que os clientes tamb&amp;eacute;m poder&amp;atilde;o escolher o modelo &amp;quot;pay-as-you-go&amp;quot;, no &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt; - que, segundo ele, ser&amp;aacute; mais barato do que a m&amp;eacute;dia cobrada pelo mercado -, mas ter&amp;atilde;o descontos se optarem pelo modelo pr&amp;eacute;-pago.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Elizabeth Montalbano&lt;/span&gt;&lt;/b&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;, editora do &lt;b style="mso-bidi-font-weight:normal;"&gt;IDG News Service&lt;/b&gt;, de Nova York&lt;/span&gt;&lt;/p&gt;
&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;font size="2"&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="font-size:x-small;"&gt;Na semana passada, &lt;b style="mso-bidi-font-weight:normal;"&gt;Doug Hauger&lt;/b&gt;, gerente geral de marketing e estrat&amp;eacute;gias de neg&amp;oacute;cios da &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; para servi&amp;ccedil;os de &lt;b style="mso-bidi-font-weight:normal;"&gt;cloud computing&lt;/b&gt;, disse a um grupo de investidores que a empresa divulgaria em breve os valores cobrados pelo &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt;. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;Hauger&lt;/span&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt; disse que os clientes tamb&amp;eacute;m poder&amp;atilde;o escolher o modelo &amp;quot;pay-as-you-go&amp;quot;, no &lt;b style="mso-bidi-font-weight:normal;"&gt;Azure&lt;/b&gt; - que, segundo ele, ser&amp;aacute; mais barato do que a m&amp;eacute;dia cobrada pelo mercado -, mas ter&amp;atilde;o descontos se optarem pelo modelo pr&amp;eacute;-pago.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;Elizabeth Montalbano&lt;/span&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;, editora do &lt;b style="mso-bidi-font-weight:normal;"&gt;IDG News Service&lt;/b&gt;, de Nova York&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1674050" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Windows+Azure/default.aspx">Windows Azure</category></item><item><title>Nova IDE do Visual Studio 2010 criada com WPF</title><link>http://msmvps.com/blogs/cmattos/archive/2009/02/25/nova-ide-do-visual-studio-2010-criada-com-wpf.aspx</link><pubDate>Wed, 25 Feb 2009 16:44:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1673796</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1673796</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/02/25/nova-ide-do-visual-studio-2010-criada-com-wpf.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Durante o &lt;b style="mso-bidi-font-weight:normal;"&gt;PDC2008&lt;/b&gt; realizado em Novembro/2008 na cidade de &lt;b style="mso-bidi-font-weight:normal;"&gt;Los Angeles&lt;/b&gt;, a &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; apresentou novos recursos do editor e designer de formul&amp;aacute;rios criados com &lt;b style="mso-bidi-font-weight:normal;"&gt;WPF&lt;/b&gt; e &lt;b style="mso-bidi-font-weight:normal;"&gt;.NET Framework 4.0&lt;/b&gt;. Nesta semana, foram divulgadas as primeiras imagens da nova &lt;b style="mso-bidi-font-weight:normal;"&gt;IDE&lt;/b&gt; do &lt;b style="mso-bidi-font-weight:normal;"&gt;Visual Studio 2010&lt;/b&gt; tamb&amp;eacute;m constru&amp;iacute;da com &lt;b style="mso-bidi-font-weight:normal;"&gt;WPF&lt;/b&gt;. A &lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 1&lt;/b&gt; mostra a nova &lt;b style="mso-bidi-font-weight:normal;"&gt;Start Page&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;img height="480" width="561" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/vsts2010_5F00_startpage.jpg" alt="VSTS2010 Start Page" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Figura 1: Nova Start Page em WPF&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A &lt;b style="mso-bidi-font-weight:normal;"&gt;Microsoft&lt;/b&gt; concentrou seus esfor&amp;ccedil;os na redu&amp;ccedil;&amp;atilde;o da polui&amp;ccedil;&amp;atilde;o visual com a remo&amp;ccedil;&amp;atilde;o de linhas e gradientes excessivos da &lt;b style="mso-bidi-font-weight:normal;"&gt;UX&lt;/b&gt; e na moderniza&amp;ccedil;&amp;atilde;o da interface com a substitui&amp;ccedil;&amp;atilde;o dos tra&amp;ccedil;os 3D considerados ultrapassados. Outro ponto importante considerado foi o melhor aproveitamento dos espa&amp;ccedil;os entre as diversas janelas da &lt;b style="mso-bidi-font-weight:normal;"&gt;IDE&lt;/b&gt;, e a utiliza&amp;ccedil;&amp;atilde;o de cores para facilitar a identifica&amp;ccedil;&amp;atilde;o visual de &amp;aacute;reas distintas da &lt;b style="mso-bidi-font-weight:normal;"&gt;IDE&lt;/b&gt;. Veja a &lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 2&lt;/b&gt;. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;img height="480" width="600" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/vsts2010_5F00_IDE_5F00_1.png" alt="VSTS 2010 Nova IDE WPF" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Figura 2: A nova IDE do VSTS2010&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A pr&amp;oacute;xima imagem (&lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 3&lt;/b&gt;) mostra o novo recurso de &lt;i style="mso-bidi-font-style:normal;"&gt;floating documents&lt;/i&gt; que permite que o desenvolvedor possa explorar o uso de dois monitores para criar seus formul&amp;aacute;rios e codificar sua aplica&amp;ccedil;&amp;atilde;o simultaneamente.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;img height="410" width="640" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/vsts2010_5F00_IDE_5F00_2.png" alt="VSTS2010 IDE Floating Documents" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Figura 3: Novo Recurso Floating Documents&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O &lt;b style="mso-bidi-font-weight:normal;"&gt;Editor de C&amp;oacute;digo&lt;/b&gt; tamb&amp;eacute;m tem novos recursos que facilitam a leitura e organiza&amp;ccedil;&amp;atilde;o do c&amp;oacute;digo-fonte. Tri&amp;acirc;ngulos vazios posicionados na margem esquerda identificam se&amp;ccedil;&amp;otilde;es de c&amp;oacute;digo que foram colapsadas, estas se&amp;ccedil;&amp;otilde;es tamb&amp;eacute;m mostram um sinal de retic&amp;ecirc;ncias ao final da linha. As cores apresentadas na margem esquerda representam um indicador visual das altera&amp;ccedil;&amp;otilde;es realizadas no c&amp;oacute;digo. Veja a &lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 4&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;img height="370" width="588" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/vsts2010_5F00_IDE_5F00_3.png" alt="VSTS2010 Editor de C&amp;oacute;digo" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Figura 4: O Editor de C&amp;oacute;digo&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A nova janela &lt;b style="mso-bidi-font-weight:normal;"&gt;New Project&lt;/b&gt; tamb&amp;eacute;m foi atualizada para incluir o acesso e visualiza&amp;ccedil;&amp;atilde;o de &lt;b style="mso-bidi-font-weight:normal;"&gt;Templates Online&lt;/b&gt; e facilitar a navega&amp;ccedil;&amp;atilde;o entre os &lt;b style="mso-bidi-font-weight:normal;"&gt;Templates&lt;/b&gt; instalados no computador local. O recurso de &lt;b style="mso-bidi-font-weight:normal;"&gt;Multi-targeting&lt;/b&gt; continua dispon&amp;iacute;vel nesta janela, incluindo o &lt;b style="mso-bidi-font-weight:normal;"&gt;.NET Framework 4.0&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 5&lt;/b&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;span style="font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;img height="455" width="640" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/vsts2010_5F00_IDE_5F00_4.png" alt="VSTS2010 Janela New Project" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;"&gt;Figura 5: Janela New Project&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O &lt;b style="mso-bidi-font-weight:normal;"&gt;Visual Studio&lt;/b&gt; possui um grande eco-sistema de extens&amp;otilde;es fornecidas por parceiros. No &lt;b style="mso-bidi-font-weight:normal;"&gt;Visual Studio 2010&lt;/b&gt; o desenvolvedor ter&amp;aacute; o acesso facilitado para localizar e instalar essas extens&amp;otilde;es com o novo &lt;b style="mso-bidi-font-weight:normal;"&gt;Extension Manager&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 6&lt;/b&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;img height="455" width="640" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/cmattos/vsts2010_5F00_IDE_5F00_5.png" alt="VSTS2010 New Extension Manager" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;"&gt;Figura 6: O Novo Extension Manager&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Ainda n&amp;atilde;o h&amp;aacute; defini&amp;ccedil;&amp;atilde;o quanto &amp;agrave; data de lan&amp;ccedil;amento ou mesmo do primeiro Beta p&amp;uacute;blico, mas j&amp;aacute; conseguimos ter uma id&amp;eacute;ia do que vem por a&amp;iacute; na nova vers&amp;atilde;o da melhor su&amp;iacute;te de desenvolvimento dispon&amp;iacute;vel no mercado.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1673796" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>Microsoft revela nova versão do Visual Studio e da ferramenta .Net Framework</title><link>http://msmvps.com/blogs/cmattos/archive/2009/02/18/microsoft-revela-nova-vers-227-o-do-visual-studio-e-da-ferramenta-net-framework.aspx</link><pubDate>Wed, 18 Feb 2009 17:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1672849</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1672849</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/02/18/microsoft-revela-nova-vers-227-o-do-visual-studio-e-da-ferramenta-net-framework.aspx#comments</comments><description>&lt;p class="tx11cz" style="margin:auto 0in;"&gt;&lt;i&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;"&gt;Companhia anuncia novidades para simplificar o gerenciamento do ciclo de desenvolvimento de software, revela detalhes das novas vers&amp;otilde;es do &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio 2010&lt;/span&gt;&lt;/strong&gt; e do .&lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Net Framework 4.0&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Verdana;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="tx11cz" style="margin:auto 0in;"&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;"&gt;A &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft&lt;/span&gt;&lt;/strong&gt; apresenta algumas das novidades que far&amp;atilde;o parte da pr&amp;oacute;xima gera&amp;ccedil;&amp;atilde;o do &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio 2010&lt;/span&gt;&lt;/strong&gt; e &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;.Net Framework 4.0&lt;/span&gt;&lt;/strong&gt;. Dessa forma, a companhia segue com o compromisso de oferecer a melhor experi&amp;ecirc;ncia para os desenvolvedores acompanharem as tend&amp;ecirc;ncias de mercado, como &amp;ldquo;computa&amp;ccedil;&amp;atilde;o na nuvem&amp;rdquo; (cloud computing), e disponibilizar uma solu&amp;ccedil;&amp;atilde;o segura e confi&amp;aacute;vel para o desenvolvimento de aplicativos para as plataformas mais atuais. &lt;br /&gt;&lt;br /&gt;Al&amp;eacute;m do foco no desenvolvedor, a &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft&lt;/span&gt;&lt;/strong&gt; consolida seu comprometimento em entregar para as empresas uma plataforma completa para todo o ciclo de vida de desenvolvimento de aplicativos por meio do &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;ALM&lt;/span&gt;&lt;/strong&gt; (Application Lifecycle Management). O &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio 2010&lt;/span&gt;&lt;/strong&gt;, cujo codinome &amp;eacute; &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Rosario&lt;/span&gt;&lt;/strong&gt;, oferecer&amp;aacute; uma solu&amp;ccedil;&amp;atilde;o &amp;uacute;nica que atende todas as pessoas envolvidas no processo de desenvolvimento de uma aplica&amp;ccedil;&amp;atilde;o, retirando muitas das barreiras que evitam a integra&amp;ccedil;&amp;atilde;o entre equipes e diferentes tecnologias. &amp;ldquo;O objetivo &amp;eacute; entregar para nossos clientes uma solu&amp;ccedil;&amp;atilde;o capaz de apoiar todos os envolvidos no processo de desenvolvimento de uma aplica&amp;ccedil;&amp;atilde;o desde a an&amp;aacute;lise de requisitos e arquitetura at&amp;eacute; a homologa&amp;ccedil;&amp;atilde;o, instala&amp;ccedil;&amp;atilde;o e manuten&amp;ccedil;&amp;atilde;o. Isso considerando que essa plataforma &amp;eacute; interoper&amp;aacute;vel com outras tecnologias usadas para desenvolvimento de software do mercado.&amp;rdquo;, destacou &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Carlos Zimmermann&lt;/span&gt;&lt;/strong&gt;, gerente de produtos para desenvolvimento da &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft Brasil.&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="tx11cz" style="margin:auto 0in;"&gt;&lt;strong&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;"&gt;Democratizando o Gerenciamento de Ciclo de Vida de Aplicativos&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;"&gt;Atualmente, grande parte do desenvolvimento de aplicativos est&amp;aacute; disperso ou dependente de diversas &amp;aacute;reas nas empresas. Isso gera diversos desafios que podem impactar em perda de produtividade, controle e previsibilidade nos ciclos de desenvolvimento de um software. Com o &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio 2010&lt;/span&gt;&lt;/strong&gt;, a &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft&lt;/span&gt;&lt;/strong&gt; dar&amp;aacute; um passo &amp;agrave; frente na oferta de uma solu&amp;ccedil;&amp;atilde;o avan&amp;ccedil;ada que apoiar&amp;aacute; a equipe envolvida no processo de desenvolvimento para colaborar de forma efetiva e com alta qualidade.&lt;br /&gt;&lt;br /&gt;Essa oferta inclui novos recursos que possibilitam que todos os colaboradores da equipe de software participem do ciclo de vida do produto. Arquitetos, analistas de sistemas, desenvolvedores, testadores e administradores de database (DBAs) entre outros, ter&amp;atilde;o ferramentas espec&amp;iacute;ficas para trabalharem de forma integrada e produtiva. Entre os destaques da nova vers&amp;atilde;o est&amp;atilde;o:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Ferramentas de modelagem -&lt;/b&gt; O &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio Team System Architecture Edition&lt;/span&gt;&lt;/strong&gt; fornecer&amp;aacute; um novo conjunto de ferramentas &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;UML&lt;/span&gt;&lt;/strong&gt; (Unified Modeling Language) na nova vers&amp;atilde;o. Estas ferramentas, que permitem aos desenvolvedores visualizarem os produtos de seu trabalho em diagramas padronizados, ajudar&amp;atilde;o a preencher a lacuna entre modelos de alto n&amp;iacute;vel e o c&amp;oacute;digo da aplica&amp;ccedil;&amp;atilde;o, enfatizando os benef&amp;iacute;cios do uso de &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;UML&lt;/span&gt;&lt;/strong&gt; e solu&amp;ccedil;&amp;otilde;es &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;DSL&lt;/span&gt;&lt;/strong&gt; (Digital Subscriber Line), voltadas &amp;agrave; transmiss&amp;atilde;o digital de dados. Adicionalmente, a edi&amp;ccedil;&amp;atilde;o &amp;ldquo;architecture&amp;rdquo; fornecer&amp;aacute; ricas ferramentas que permitir&amp;atilde;o aos clientes entender melhor seus sistemas atuais, fornecendo capacidade de visualizar e integrar a infra-estrutura atual facilmente com novos sistemas na camada de modelagem.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Maior efici&amp;ecirc;ncia por todo o ciclo de testes -&lt;/b&gt; A &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft&lt;/span&gt;&lt;/strong&gt; investiu significativamente nos recursos de testes do &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio 2010&lt;/span&gt;&lt;/strong&gt; e simplificou as ferramentas necess&amp;aacute;rias para a integra&amp;ccedil;&amp;atilde;o de testes por todo seu ciclo de vida de desenvolvimento. Ferramentas de testes generalistas poderosas e f&amp;aacute;ceis de usar que suportam planejamento de testes e gerenciamento de casos de teste, assim como ferramentas avan&amp;ccedil;adas para testes manuais far&amp;atilde;o parte do Visual Studio Team System 2010.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;- Melhorias significativas nos recursos de colabora&amp;ccedil;&amp;atilde;o -&lt;/b&gt; A &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Microsoft&lt;/span&gt;&lt;/strong&gt; tamb&amp;eacute;m investiu nos recursos e na escalabilidade do &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Team Foundation Server (TFS),&lt;/span&gt;&lt;/strong&gt; incluindo aprimoramentos que permitem &amp;agrave;s equipes configurarem e adotarem qualquer forma de processo de desenvolvimento. As equipes poder&amp;atilde;o rastrear o trabalho com mais facilidade. No sistema de gerenciamento de c&amp;oacute;digo fonte, o &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;TFS&lt;/span&gt;&lt;/strong&gt; oferece ferramentas de visualiza&amp;ccedil;&amp;atilde;o para o rastreamento de altera&amp;ccedil;&amp;otilde;es em desvios e no conjunto de produ&amp;ccedil;&amp;atilde;o. O &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;Visual Studio 2010&lt;/span&gt;&lt;/strong&gt; tamb&amp;eacute;m passar&amp;aacute; a incluir conjuntos baseados no fluxo de trabalho que detectam erros antes desses afetarem o restante da equipe ou, pior ainda, ingressar na produ&amp;ccedil;&amp;atilde;o. Por fim, os administradores contar&amp;atilde;o com uma implanta&amp;ccedil;&amp;atilde;o e gerenciamento de &lt;strong&gt;&lt;span style="font-family:Verdana;"&gt;TFS&lt;/span&gt;&lt;/strong&gt; significativamente mais simples.&lt;/span&gt;&lt;span style="font-family:Verdana;mso-ansi-language:PT-BR;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Para maiores informa&amp;ccedil;&amp;otilde;es, acesse: &lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:EN;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;&lt;a target="_blank" href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx"&gt;&lt;span style="mso-ansi-language:PT-BR;"&gt;&lt;span style="color:#800080;"&gt;http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;font-size:10pt;mso-ansi-language:PT-BR;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1672849" width="1" height="1"&gt;</description><category domain="http://msmvps.com/blogs/cmattos/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://msmvps.com/blogs/cmattos/archive/tags/VSTS2010/default.aspx">VSTS2010</category></item><item><title>C# 3.0 - Auto Implemented Properties</title><link>http://msmvps.com/blogs/cmattos/archive/2009/02/17/c-3-0-auto-implemented-properties.aspx</link><pubDate>Tue, 17 Feb 2009 14:19:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1672727</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1672727</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/02/17/c-3-0-auto-implemented-properties.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Introdu&amp;ccedil;&amp;atilde;o&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Frequentemente os m&amp;eacute;todos de acesso &amp;agrave;s propriedades de uma classe (&lt;b style="mso-bidi-font-weight:normal;"&gt;get/set&lt;/b&gt;) t&amp;ecirc;m uma implementa&amp;ccedil;&amp;atilde;o trivial, seguindo um modelo simples, onde o acessor &lt;b style="mso-bidi-font-weight:normal;"&gt;get&lt;/b&gt; &amp;eacute; respons&amp;aacute;vel por retornar o valor armazenado num campo privado da classe e o acessor &lt;b style="mso-bidi-font-weight:normal;"&gt;set&lt;/b&gt; tem o prop&amp;oacute;sito de atribuir um novo valor ao campo. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O novo recurso &lt;b style="mso-bidi-font-weight:normal;"&gt;Auto Implemented Properties&lt;/b&gt;, dispon&amp;iacute;vel no &lt;b style="mso-bidi-font-weight:normal;"&gt;C# 3.0&lt;/b&gt;, oferece uma sintaxe mais concisa para implementar esse modelo, onde o compilador &lt;b style="mso-bidi-font-weight:normal;"&gt;C#&lt;/b&gt; gera automaticamente os campos privados. O exemplo a seguir o ajudar&amp;aacute; a entender esse novo recurso e seu impacto no dia-a-dia do programador. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Utilizando a vers&amp;atilde;o beta do &lt;b style="mso-bidi-font-weight:normal;"&gt;Visual Studio 2008&lt;/b&gt; (se voc&amp;ecirc; ainda n&amp;atilde;o baixou, acesse o link &lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx&lt;/a&gt;) crie um novo projeto utilizando o template &lt;b style="mso-bidi-font-weight:normal;"&gt;Console Application&lt;/b&gt;, atribua o nome desejado para a Solu&amp;ccedil;&amp;atilde;o, eu utilizarei o nome &lt;b style="mso-bidi-font-weight:normal;"&gt;CSNewFeatures&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Na janela &lt;b style="mso-bidi-font-weight:normal;"&gt;Solution Explorer&lt;/b&gt;, abra o arquivo &lt;b style="mso-bidi-font-weight:normal;"&gt;Program.cs&lt;/b&gt;, e adicione uma nova classe chamada &lt;b style="mso-bidi-font-weight:normal;"&gt;Movie&lt;/b&gt;, como demonstra o c&amp;oacute;digo abaixo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;namespace CSNewFeatures&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public class Movie&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;class Program&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;static void Main(string[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Na nova classe &lt;b style="mso-bidi-font-weight:normal;"&gt;Movie&lt;/b&gt;, adicione duas propriedades (T&amp;iacute;tulo e G&amp;ecirc;nero). E modifique o m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;ToString()&lt;/b&gt; da seguinte forma:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;public class Movie &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Titulo { get; set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Genero { get; set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public override string ToString()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return Titulo + &amp;quot;\t&amp;quot; + Genero;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Modifique o m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;Main&lt;/b&gt; da classe &lt;b style="mso-bidi-font-weight:normal;"&gt;Program&lt;/b&gt; para criarmos uma nova inst&amp;acirc;ncia da classe &lt;b style="mso-bidi-font-weight:normal;"&gt;Movie&lt;/b&gt;, veja o c&amp;oacute;digo:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;static void Main(string[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Movie m = new Movie();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;m.Titulo = &amp;quot;Em busca da felicidade&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;m.Genero = &amp;quot;Drama&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Console.WriteLine(m);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Console.ReadLine();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Execute a aplica&amp;ccedil;&amp;atilde;o (&lt;b style="mso-bidi-font-weight:normal;"&gt;CTRL+F5&lt;/b&gt;) para visualizar o resultado. Pressione qualquer tecla para finalizar a aplica&amp;ccedil;&amp;atilde;o console e retornar para o ambiente de desenvolvimento do &lt;b style="mso-bidi-font-weight:normal;"&gt;Visual Studio 2008&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Este modelo de constru&amp;ccedil;&amp;atilde;o requer que a propriedade tenha os dois m&amp;eacute;todos de acesso (&lt;b style="mso-bidi-font-weight:normal;"&gt;get/set&lt;/b&gt;). Contudo, podemos atribuir modificadores de acesso para uma constru&amp;ccedil;&amp;atilde;o mais elaborada. Por exemplo, considere que voc&amp;ecirc; queira acrescentar uma propriedade (Codigo) que seja somente leitura (&lt;b style="mso-bidi-font-weight:normal;"&gt;ReadOnly&lt;/b&gt;), para isto bastaria acrescentar o modificador &lt;b style="mso-bidi-font-weight:normal;"&gt;private&lt;/b&gt; junto ao acessor &lt;b style="mso-bidi-font-weight:normal;"&gt;set&lt;/b&gt;. &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Veja o c&amp;oacute;digo abaixo: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;public class Movie &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public int Codigo { get; private set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Titulo { get; set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Genero { get; set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public override string ToString()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return Codigo + &amp;quot;\t&amp;quot; + Titulo + &amp;quot;\t&amp;quot; + Genero;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Neste caso, a propriedade c&amp;oacute;digo seria implementada somente para leitura. Desta forma, temos que realizar duas modifica&amp;ccedil;&amp;otilde;es, a primeira ser&amp;aacute; acrescentarmos um construtor na classe Movie. Este construtor ter&amp;aacute; um argumento do tipo inteiro que ser&amp;aacute; atribu&amp;iacute;do &amp;agrave; nova propriedade C&amp;oacute;digo quando uma nova inst&amp;acirc;ncia da classe for criada. &lt;/span&gt;&lt;span style="font-size:10pt;"&gt;Confira o c&amp;oacute;digo a seguir: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;public class Movie &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Codigo { get; private set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Titulo { get; set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string Genero { get; set; }&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;public Movie(int iCodigo)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Codigo = iCodigo;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public override string ToString()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;return Codigo + &amp;quot;\t&amp;quot; + Titulo + &amp;quot;\t&amp;quot; + Genero;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A segunda modifica&amp;ccedil;&amp;atilde;o ser&amp;aacute; feita no m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;Main&lt;/b&gt; da classe &lt;b style="mso-bidi-font-weight:normal;"&gt;Program&lt;/b&gt; para instanciarmos corretamente a classe &lt;b style="mso-bidi-font-weight:normal;"&gt;Movie&lt;/b&gt;: &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;static void Main(string[] args)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Movie m = new Movie(1);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m.Titulo = &amp;quot;Em busca da felicidade&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m.Genero = &amp;quot;Drama&amp;quot;;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(m);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.ReadLine();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Execute novamente a aplica&amp;ccedil;&amp;atilde;o para observar o resultado. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;"&gt;Conclus&amp;atilde;o&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O novo recurso &lt;b style="mso-bidi-font-weight:normal;"&gt;Auto Implemented Properties&lt;/b&gt; do &lt;b style="mso-bidi-font-weight:normal;"&gt;C# 3.0&lt;/b&gt; reduz a quantidade de c&amp;oacute;digo necess&amp;aacute;ria para implementarmos as propriedades das nossas classes e torna o c&amp;oacute;digo mais claro. Com esta melhoria, os desenvolvedores ganhar&amp;atilde;o produtividade significante para executar uma tarefa que &amp;eacute; t&amp;atilde;o comum em todas aplica&amp;ccedil;&amp;otilde;es.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1672727" width="1" height="1"&gt;</description><enclosure url="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.01.67.27.27/CS3_5F00_AutoImplementedProperties.docx" length="18611" type="application/vnd.openxmlformats-officedocument.word" /><category domain="http://msmvps.com/blogs/cmattos/archive/tags/C_2300_/default.aspx">C#</category></item><item><title>Criando Eventos Customizados no C#</title><link>http://msmvps.com/blogs/cmattos/archive/2009/02/16/criando-eventos-customizados-no-c.aspx</link><pubDate>Mon, 16 Feb 2009 19:20:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1672634</guid><dc:creator>Carlos Mattos</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://msmvps.com/blogs/cmattos/rsscomments.aspx?PostID=1672634</wfw:commentRss><comments>http://msmvps.com/blogs/cmattos/archive/2009/02/16/criando-eventos-customizados-no-c.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Introdu&amp;ccedil;&amp;atilde;o&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Necessidade comum no desenvolvimento de solu&amp;ccedil;&amp;otilde;es &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Forms&lt;/b&gt; &amp;eacute; a cria&amp;ccedil;&amp;atilde;o de eventos personalizados. O desenvolvedor pode utilizar este recurso para gerenciar de forma mais eficiente o fluxo de execu&amp;ccedil;&amp;atilde;o do seu programa. Com eventos, podemos manter o usu&amp;aacute;rio informado sobre o processamento executado pela aplica&amp;ccedil;&amp;atilde;o e manter seu usu&amp;aacute;rio informado &amp;eacute; sem d&amp;uacute;vida nenhuma uma boa pr&amp;aacute;tica. Os formul&amp;aacute;rios e controles possuem eventos &lt;i style="mso-bidi-font-style:normal;"&gt;built-in&lt;/i&gt; que atendem as necessidades mais comuns das aplica&amp;ccedil;&amp;otilde;es, contudo, a possibilidade de criarmos nossos pr&amp;oacute;prios eventos nos permite melhorar a qualidade do software produzido.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Estrutura do Exemplo&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O exemplo apresentado neste artigo foi elaborado sobre a seguinte estrutura: &lt;/span&gt;&lt;/p&gt;
&lt;ul style="margin-top:0in;"&gt;
&lt;li class="MsoNormal" style="margin:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Classe Base (frmBase.cs)&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Formul&amp;aacute;rio de Produtos (frmProdutos.cs)&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="margin:0in 0in 0pt;mso-list:l0 level1 lfo1;tab-stops:list .5in;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Formul&amp;aacute;rio MDI (mdiCadastro.cs)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A Classe Base implementa uma estrutura b&amp;aacute;sica para opera&amp;ccedil;&amp;otilde;es &lt;b style="mso-bidi-font-weight:normal;"&gt;CRUD&lt;/b&gt;. O aplicativo que consome esta classe utiliza o modelo tradicional de &lt;b style="mso-bidi-font-weight:normal;"&gt;Multiple Document Interface&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;MDI&lt;/b&gt;). Assim, o formul&amp;aacute;rio &lt;b style="mso-bidi-font-weight:normal;"&gt;MDI&lt;/b&gt; implementado pela classe &lt;b style="mso-bidi-font-weight:normal;"&gt;mdiCadastro.cs&lt;/b&gt; oferece as funcionalidades necess&amp;aacute;rias para manipular os m&amp;eacute;todos e eventos dos formul&amp;aacute;rios filhos. No exemplo, temos um formul&amp;aacute;rio de &lt;b style="mso-bidi-font-weight:normal;"&gt;Produtos&lt;/b&gt; cujo m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;Salvar&lt;/b&gt; &amp;eacute; invocado atrav&amp;eacute;s da barra de ferramentas do formul&amp;aacute;rio &lt;b style="mso-bidi-font-weight:normal;"&gt;MDI&lt;/b&gt;. Implementamos um &lt;b style="mso-bidi-font-weight:normal;"&gt;Evento Customizado&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;AoSalvar&lt;/b&gt;) para exibir uma mensagem logo ap&amp;oacute;s o bot&amp;atilde;o &lt;b style="mso-bidi-font-weight:normal;"&gt;Salvar&lt;/b&gt; da barra de ferramentas ser clicado pelo usu&amp;aacute;rio. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Declarando Eventos e Atributos&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;A declara&amp;ccedil;&amp;atilde;o de eventos &amp;eacute; relativamente simples. Precisamos de um &lt;b style="mso-bidi-font-weight:normal;"&gt;delegate&lt;/b&gt; (&lt;b style="mso-bidi-font-weight:normal;"&gt;AoSalvarEventHandler&lt;/b&gt;), a pr&amp;oacute;pria declara&amp;ccedil;&amp;atilde;o do evento (&lt;b style="mso-bidi-font-weight:normal;"&gt;AoSalvar&lt;/b&gt;) e um m&amp;eacute;todo de apoio (&lt;b style="mso-bidi-font-weight:normal;"&gt;RaiseAoSalvar&lt;/b&gt;) para disparar o evento quando desejado. O &lt;b style="mso-bidi-font-weight:normal;"&gt;Quadro 1&lt;/b&gt; apresenta o c&amp;oacute;digo necess&amp;aacute;rio para esta implementa&amp;ccedil;&amp;atilde;o. Observe que a &lt;b style="mso-bidi-font-weight:normal;"&gt;Linha 03&lt;/b&gt; implementa os atributos &lt;b style="mso-bidi-font-weight:normal;"&gt;Categoria&lt;/b&gt; e &lt;b style="mso-bidi-font-weight:normal;"&gt;Descri&amp;ccedil;&amp;atilde;o&lt;/b&gt; do evento customizado. Estas informa&amp;ccedil;&amp;otilde;es s&amp;atilde;o apresentadas na &lt;b style="mso-bidi-font-weight:normal;"&gt;Janela de Propriedades&lt;/b&gt; quando exibimos os eventos do formul&amp;aacute;rio (&lt;b style="mso-bidi-font-weight:normal;"&gt;Figura 1&lt;/b&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;01:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt; public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;delegate&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;AoSalvarEventHandler&lt;/span&gt;(&lt;span style="color:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;EventArgs&lt;/span&gt; e);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-no-proof:yes;"&gt;02:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-no-proof:yes;"&gt;03:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;[&lt;span style="color:#2b91af;"&gt;Category&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;Bartender - CustomEvents&amp;quot;&lt;/span&gt;), &lt;span style="color:#2b91af;"&gt;Description&lt;/span&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;Ocorre sempre ...&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-no-proof:yes;"&gt;04:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt; public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;event&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;AoSalvarEventHandler&lt;/span&gt; AoSalvar;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-no-proof:yes;"&gt;05:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-no-proof:yes;"&gt;06:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt; public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;virtual&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; RaiseAoSalvar()&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;07:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;08:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt; &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;AoSalvar(&lt;span style="color:blue;"&gt;this&lt;/span&gt;, &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;EventArgs&lt;/span&gt;());&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#339966;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;09:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Quadro 1: Declarando Eventos e Atributos Customizados&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&lt;img height="443" width="286" src="http://www.codename.com.br/images/customeventsbartender.jpg" alt="Eventos Customizados" /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Figura 1 : Atribudos dos Eventos Customizados &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Consumindo Eventos&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;O aplicativo utilizado no exemplo, consome o evento &lt;b style="mso-bidi-font-weight:normal;"&gt;AoSalvar&lt;/b&gt; sempre que o usu&amp;aacute;rio clica no bot&amp;atilde;o &lt;b style="mso-bidi-font-weight:normal;"&gt;Salvar&lt;/b&gt; da barra de ferramentas. O c&amp;oacute;digo deste bot&amp;atilde;o &amp;eacute; apresentado no &lt;b style="mso-bidi-font-weight:normal;"&gt;Quadro 2&lt;/b&gt;, a linha em negrito destaca o m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;RaiseAposSalvar&lt;/b&gt; que dispara o evento imediatamente ap&amp;oacute;s o m&amp;eacute;todo &lt;b style="mso-bidi-font-weight:normal;"&gt;SalvarRegistro&lt;/b&gt; ser executado. Neste fragmento de c&amp;oacute;digo, o objeto &lt;b style="mso-bidi-font-weight:normal;"&gt;frmActiveChild&lt;/b&gt; corresponde ao formul&amp;aacute;rio de &lt;b style="mso-bidi-font-weight:normal;"&gt;Produtos&lt;/b&gt; instanciado pelo &lt;b style="mso-bidi-font-weight:normal;"&gt;MDI&lt;/b&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;......&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;case&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:#a31515;"&gt;&amp;quot;Salvar&amp;quot;&lt;/span&gt;:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (&lt;span style="color:blue;"&gt;this&lt;/span&gt;.ActiveMdiChild != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; (frmActiveChild.ValidarFormulario())&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;frmActiveChild.Validate();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;frmActiveChild.RaiseAoSalvar();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;frmActiveChild.SalvarRegistro();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;frmActiveChild.RaiseAposSalvar();&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;frmActiveChild.Status = &lt;span style="color:#2b91af;"&gt;frmBase&lt;/span&gt;.&lt;span style="color:#2b91af;"&gt;FormStatus&lt;/span&gt;.Ocioso;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AtualizarBarraFerramentas();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;frmActiveChild.DesativarControles();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;frmActiveChild.Refresh();&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;.....&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Quadro 2: Fragmento de c&amp;oacute;digo disparando o evento AoSalvar&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;J&amp;aacute; no formul&amp;aacute;rio de &lt;b style="mso-bidi-font-weight:normal;"&gt;Produtos&lt;/b&gt;. O tratamento do evento disparado &amp;eacute; simples e funciona da mesma forma como qualquer outro evento &lt;i style="mso-bidi-font-style:normal;"&gt;built-in&lt;/i&gt;. Voc&amp;ecirc; pode gerar o c&amp;oacute;digo para o &lt;b style="mso-bidi-font-weight:normal;"&gt;EventHandler&lt;/b&gt; simplesmente clicando sobre a linha deste evento na &lt;b style="mso-bidi-font-weight:normal;"&gt;Janela de Propriedades&lt;/b&gt;. Veja o &lt;b style="mso-bidi-font-weight:normal;"&gt;Quadro 3&lt;/b&gt; com o evento tratado.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:blue;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;private&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; frmProdutos_AoSalvar(&lt;span style="color:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;EventArgs&lt;/span&gt; e)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;{&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="text-indent:0.5in;margin:0in 0in 0pt;background:#f3f3f3;mso-layout-grid-align:none;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;MessageBox&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;.Show(&lt;span style="color:#a31515;"&gt;&amp;quot;Disparado o evento AoSalvar!&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;background:#f3f3f3;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Quadro 3: Consumindo o Evento AoSalvar&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-ansi-language:PT-BR;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Conclus&amp;atilde;o&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;Com este exemplo, voc&amp;ecirc; pode criar seus eventos personalizados e oferecer um &lt;i style="mso-bidi-font-style:normal;"&gt;feedback&lt;/i&gt; mais elegante e eficiente para os usu&amp;aacute;rios das suas aplica&amp;ccedil;&amp;otilde;es &lt;b style="mso-bidi-font-weight:normal;"&gt;Windows Forms&lt;/b&gt;. Existe ainda a possibilidade de implementar eventos mais complexos incluindo informa&amp;ccedil;&amp;otilde;es peculiares ao evento customizado, consulte o &lt;b style="mso-bidi-font-weight:normal;"&gt;MSDN&lt;/b&gt; para maiores informa&amp;ccedil;&amp;otilde;es. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 0pt;"&gt;&lt;span style="font-size:10pt;mso-ansi-language:PT-BR;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1672634" width="1" height="1"&gt;</description><enclosure url="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.01.67.26.34/CriandoEventosCSharp.doc" length="65536" type="application/msword" /><category domain="http://msmvps.com/blogs/cmattos/archive/tags/C_2300_/default.aspx">C#</category></item></channel></rss>