<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tecnologia de Programação 1 e 2 (2009) &#187; dúvida</title>
	<atom:link href="http://www.brunocampagnolo.com/2009tp/category/duvida/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brunocampagnolo.com/2009tp</link>
	<description>PUCPR &#62; Bacharelado em Sistemas de Informação &#62; 3o e 4o Períodos</description>
	<lastBuildDate>Fri, 18 Dec 2009 10:40:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Dúvida Exercício F06 &#8211; Retornando vetores a partir do web service</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/08/04/duvida-exercicio-f06-retornando-vetores-a-partir-do-web-service/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/08/04/duvida-exercicio-f06-retornando-vetores-a-partir-do-web-service/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 18:27:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[exercícioF06]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=375</guid>
		<description><![CDATA[Você pode retornar do servidor web ao cliente web qualquer tipo de objeto.
No exemplo a seguir, um vetor de objetos do tipo Pessoa é retornado e exibido no cliente.
RetornandoMaisDeUmValor
Observe que os serviços, em ASP.NET, por padrão retornam em JSON um objeto encapsulado em uma propriedade chamada &#8220;d&#8221;.
]]></description>
			<content:encoded><![CDATA[<p>Você pode retornar do servidor web ao cliente web qualquer tipo de objeto.<br />
No exemplo a seguir, um vetor de objetos do tipo Pessoa é retornado e exibido no cliente.<br />
<a href='http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/08/RetornandoMaisDeUmValor.rar'>RetornandoMaisDeUmValor</a></p>
<p>Observe que os serviços, em ASP.NET, por padrão retornam em JSON um objeto encapsulado em uma propriedade chamada &#8220;d&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/08/04/duvida-exercicio-f06-retornando-vetores-a-partir-do-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exemplo de Chamada a serviço REST/JSON</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/06/27/exemplo-de-chamada-a-servico-restjson/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/06/27/exemplo-de-chamada-a-servico-restjson/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 13:20:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[webservices]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=357</guid>
		<description><![CDATA[O exemplo abaixo é em JavaScript puro.
Dica: para chamar o serviço usando o jQuery, você pode usar as funções:
getJSON  ou getScript.


&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&#62;

&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;
&#60;head&#62;
    &#60;title&#62;Untitled Page&#60;/title&#62;

    &#60;script type=&#34;text/javascript&#34;&#62;
        function exibirAleatorios(result) {
      [...]]]></description>
			<content:encoded><![CDATA[<p>O exemplo abaixo é em JavaScript puro.<br />
Dica: para chamar o serviço usando o jQuery, você pode usar as funções:<br />
<a href="http://docs.jquery.com/Ajax/jQuery.getJSON">getJSON </a> ou <a href="http://docs.jquery.com/Ajax/jQuery.getScript#urlcallback">getScript</a>.</p>
<pre name="code" class="html">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
    &lt;title&gt;Untitled Page&lt;/title&gt;

    &lt;script type=&quot;text/javascript&quot;&gt;
        function exibirAleatorios(result) {
            //alert(result);
            //console.log(result);
            //alert(result.numbers[0]);
            for(i=0;i&lt;result.numbers.length;i++) {
                alert(result.numbers[i]);
            }
        }
    &lt;/script&gt;

    &lt;script type=&quot;text/javascript&quot;
    src=&quot;http://json-random.appjet.net/?num=5&amp;min=10&amp;max=20&amp;callback=exibirAleatorios&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/06/27/exemplo-de-chamada-a-servico-restjson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exemplo de chamada a serviço REST (XML)</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/06/25/exemplo-de-chamada-a-servico-rest-xml/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/06/25/exemplo-de-chamada-a-servico-rest-xml/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 19:48:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[webservices]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=353</guid>
		<description><![CDATA[Segue, em anexo, para ajudar na resolução do Exercício O07!
exemplochamadaservicorest


// Cria o objeto de WebProxy, passando como parâmetro o endereço do proxy e a porta
            System.Net.WebProxy proxyObject = new System.Net.WebProxy(TextBoxProxy.Text, Convert.ToInt32(TextBoxPorta.Text));
            // Passa [...]]]></description>
			<content:encoded><![CDATA[<p>Segue, em anexo, para ajudar na resolução do Exercício O07!<br />
<a href='http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/06/exemplochamadaservicorest.rar'>exemplochamadaservicorest</a></p>
<pre name="code" class="c#">

// Cria o objeto de WebProxy, passando como parâmetro o endereço do proxy e a porta
            System.Net.WebProxy proxyObject = new System.Net.WebProxy(TextBoxProxy.Text, Convert.ToInt32(TextBoxPorta.Text));
            // Passa o login, a senha e o domínio do WebProxy
            proxyObject.Credentials = new System.Net.NetworkCredential(TextBoxLogin.Text, TextBoxSenha.Text, TextBoxDominio.Text);
            // Configurar o proxy para a requisição web
            WebRequest.DefaultWebProxy = proxyObject;

            // Configura o proxy
            XmlReader reader = XmlReader.Create(&quot;http://news.google.com/news?ned=pt-PT_pt&amp;q=&quot;+textBoxConsulta.Text+&quot;&amp;output=rss&quot;);

            /* Exemplo de RSS:
             * - &lt;item&gt;
                    &lt;title&gt;Unesco distingue Lula da Silva por contributo para a paz - Diário Digital&lt;/title&gt;
                    &lt;link&gt;http://news.google.com/news/url?fd=R&amp;id_news=395758&amp;sa=T&amp;url=http://diariodigital.sapo.pt/news.asp?section_id=10&amp;usg=AFQjCNHKNP4y_yH2ocPSlclqAkMeHGozlA&lt;/link&gt;
                    &lt;guid isPermaLink=&quot;false&quot;&gt;tag:news.google.com,2005:cluster=http://diariodigital.sapo.pt/news.asp?section_id=10&amp;id_news=395758&lt;/guid&gt;
                    &lt;pubDate&gt;Thu, 25 Jun 2009 14:35:33 GMT&lt;/pubDate&gt;
                    &lt;description&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;2&quot; cellspacing=&quot;7&quot; style=&quot;vertical-align:top;&quot;&gt;&lt;tr&gt;&lt;td width=&quot;80&quot; align=&quot;center&quot; valign=&quot;top&quot;&gt;&lt;font style=&quot;font-size:85%;font-family:arial,sans-serif&quot;&gt;&lt;a href=&quot;http://news.google.com/news/url?fd=R&amp;sa=T&amp;url=http://www.google.com/hostednews/afp/article/ALeqM5js42auha7bZRP1gpiB_4ZPg4TwFw&amp;usg=AFQjCNHE8b4rzlv8GVVo694gobQssLuo5w&quot;&gt;&lt;img src=&quot;http://nt1.ggpht.com/news/tbn/HUr_ZEML-aBYBM/0.jpg&quot; alt=&quot;&quot; border=&quot;1&quot; width=&quot;80&quot; height=&quot;65&quot; /&gt;&lt;br /&gt;&lt;font size=&quot;-2&quot;&gt;AFP&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;td valign=&quot;top&quot; class=&quot;j&quot;&gt;&lt;font style=&quot;font-size:85%;font-family:arial,sans-serif&quot;&gt;&lt;br /&gt;&lt;div style=&quot;padding-top:0.8em;&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;lh&quot;&gt;&lt;a href=&quot;http://news.google.com/news/url?fd=R&amp;id_news=395758&amp;sa=T&amp;url=http://diariodigital.sapo.pt/news.asp?section_id=10&amp;usg=AFQjCNHKNP4y_yH2ocPSlclqAkMeHGozlA&quot;&gt;&lt;b&gt;Unesco distingue &lt;b&gt;Lula&lt;/b&gt; da Silva por contributo para a paz&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;font size=&quot;-1&quot;&gt;&lt;b&gt;&lt;font color=&quot;#6f6f6f&quot;&gt;Diário Digital&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font size=&quot;-1&quot;&gt;O presidente brasileiro, Luiz Inácio &lt;b&gt;Lula&lt;/b&gt; da Silva, vai receber a 7 de Julho, na sede da Unesco, em Paris, o Prémio Incentivo da Paz, Félix Houphouët-Boigny &lt;b&gt;...&lt;/b&gt;&lt;/font&gt;&lt;br /&gt;&lt;font size=&quot;-1&quot;&gt;&lt;a href=&quot;http://news.google.com/news/url?fd=R&amp;sa=T&amp;url=http://www.google.com/hostednews/afp/article/ALeqM5js42auha7bZRP1gpiB_4ZPg4TwFw&amp;usg=AFQjCNHE8b4rzlv8GVVo694gobQssLuo5w&quot;&gt;&lt;b&gt;Lula&lt;/b&gt; receberá prêmio da Unesco por sua contribuição para a paz&lt;/a&gt;&lt;font size=&quot;-1&quot; color=&quot;#6f6f6f&quot;&gt;&lt;nobr&gt;AFP&lt;/nobr&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;font size=&quot;-1&quot; class=&quot;p&quot;&gt;&lt;/font&gt;&lt;br /&gt;&lt;font class=&quot;p&quot; size=&quot;-1&quot;&gt;&lt;a class=&quot;p&quot; href=&quot;http://news.google.com/news?ned=pt-PT_pt&amp;hl=pt&amp;ncl=dv3fdR8kmqucBcMpM_OiTkRF-pEPM&quot;&gt;&lt;nobr&gt;&lt;b&gt;todos os 15 artigos de notícias&amp;nbsp;&amp;raquo;&lt;/b&gt;&lt;/nobr&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/description&gt;
                &lt;/item&gt; */

            // Percorra cada nó de um arquivo XML
            while (reader.Read())
            {
                // Se encontrar o nó do tipo item
                if((reader.Name==&quot;item&quot;) &amp;&amp; (reader.NodeType== XmlNodeType.Element))
                {
                    // Encontra o title
                    reader.ReadToDescendant(&quot;title&quot;);
                    // Lê o conteúdo do title
                    reader.Read();
                    // Exibe o valor do title
                    TextBoxResultado.Text +=  &quot;* &quot; + reader.Value + &quot;\r\n&quot;;
                    // Encontra o link
                    reader.ReadToFollowing(&quot;link&quot;);
                    // Lê o conteúdo do link
                    reader.Read();
                    // Exibe o valor do link
                    TextBoxResultado.Text += reader.Value + &quot;\r\n\r\n&quot;;
                }
            }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/06/25/exemplo-de-chamada-a-servico-rest-xml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas para o Exercício F05 &#8211; Preenchendo campos</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/05/25/dicas-para-o-exercicio-f05-preenchendo-campos/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/05/25/dicas-para-o-exercicio-f05-preenchendo-campos/#comments</comments>
		<pubDate>Mon, 25 May 2009 17:41:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[dica]]></category>
		<category><![CDATA[exercícioF05]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=309</guid>
		<description><![CDATA[Pessoal,
Vai a seguir um exemplo sobre como você pode RECUPERAR os campos que preencheu anteriormente.
Esta dica será útil no momento que o usuário desejar modificar a sua proposta de velório.
Exemplo de projeto web
]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Vai a seguir um exemplo sobre como você pode RECUPERAR os campos que preencheu anteriormente.</p>
<p>Esta dica será útil no momento que o usuário desejar modificar a sua proposta de velório.</p>
<p><a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/05/preenchercamposjs.zip">Exemplo de projeto web</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/05/25/dicas-para-o-exercicio-f05-preenchendo-campos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Drag &amp; Drop de imagem em Windows Forms</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-de-imagem-em-windows-forms/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-de-imagem-em-windows-forms/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 17:43:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[cursor]]></category>
		<category><![CDATA[drag&drop]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=243</guid>
		<description><![CDATA[Pode ser interessante exibir uma imagem ao invés do cursor padrão do mouse.
Para isso, é necessário trocar o cursor através da propriedade Cursor.Current e, no evento GiveFeedback do drop target impedir a exibição dos cursores padrão ( e.UseDefaultCursors = false).
Dê uma olhada no exemplo em anexo.
]]></description>
			<content:encoded><![CDATA[<p>Pode ser interessante exibir uma imagem ao invés do cursor padrão do mouse.<br />
Para isso, é necessário trocar o cursor através da propriedade Cursor.Current e, no evento GiveFeedback do drop target impedir a exibição dos cursores padrão ( e.UseDefaultCursors = false).<br />
Dê uma olhada no <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplodragdropcomcursordiferente.zip">exemplo em anexo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-de-imagem-em-windows-forms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Drag &amp; Drop em jQuery</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-em-jquery/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-em-jquery/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 15:57:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[drag&drop]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery UI]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=239</guid>
		<description><![CDATA[Na aula sobre drag e drop também apresentei exemplos de drag e drop em jQuery.
Veja o exemplo que coloquei na aula 13:
http://www.brunocampagnolo.com/2009tp/2009/04/02/aula-13-dicas-para-o-exercicio-f03-drag-drop/
Link direto para o exemplo:
http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplosdragedrop.zip
Observe que se for necessário clonar um objeto, será necessária a criação do draggable com esta opção:


$(&#34;.myDrag&#34;).draggable({helper: &#039;clone&#039; }); 

A seguir, em anexo e no jsbin,  


&#60;!DOCTYPE html PUBLIC [...]]]></description>
			<content:encoded><![CDATA[<p>Na aula sobre drag e drop também apresentei exemplos de drag e drop em jQuery.</p>
<p>Veja o exemplo que coloquei na aula 13:<br />
<a href="http://www.brunocampagnolo.com/2009tp/2009/04/02/aula-13-dicas-para-o-exercicio-f03-drag-drop/">http://www.brunocampagnolo.com/2009tp/2009/04/02/aula-13-dicas-para-o-exercicio-f03-drag-drop/</a></p>
<p>Link direto para o exemplo:<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplosdragedrop.zip">http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplosdragedrop.zip</a></p>
<p>Observe que se for necessário clonar um objeto, será necessária a criação do draggable com esta opção:</p>
<pre name="code" class="javascript">

$(&quot;.myDrag&quot;).draggable({helper: &#039;clone&#039; }); 
</pre>
<p>A seguir, em <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplodragcomclone.html">anexo</a> e no <a href="http://jsbin.com/epota/edit">jsbin</a>,  </p>
<pre name="code" class="html">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;

&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css&quot; type=&quot;text/css&quot; /&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
    &lt;title&gt;&lt;/title&gt;

    &lt;style type=&quot;text/css&quot;&gt;
        .myDrag
        {
           background: red;
           border: 2px black solid;
           width: 200px;
           font-size: xx-large;
        }
        .myDrop
        {

           background: green;
           border: 2px black solid;
           width: 400px;
           height: 100px;
           font-size: xx-large;

        }
        .jahArrastado {
           background: blue;
           border: 2px black solid;
           width: 200px;
           font-size: xx-large;
        }
    &lt;/style&gt;
    &lt;script type=&quot;text/javascript&quot;&gt;
        $(document).ready(function() {
            // Transforma em um elemento arrastável
            $(&quot;.myDrag&quot;).draggable({helper: &#039;clone&#039; });
            // Transforma em um elemento foco de drop
            $(&quot;#drop1&quot;).droppable({

                // Chama a função quando terminar o arrastar
                drop: function(event, ui) {

                    // Se já tiver sido arrastado anteriormente,
                    if(!$(ui.draggable).hasClass(&quot;jahArrastado&quot;))
                    {
                      // Obtém a posição que o elemento foi arrastado
                      var x = ui.position.left;
                      var y = ui.position.top;
                      // Clona o elemento
                      var m = $(ui.draggable).clone();
                      m.css(&quot;position&quot;, &quot;absolute&quot;);
                      m.css(&quot;left&quot;,x);
                      m.css(&quot;top&quot;,y);
                      m.attr(&quot;class&quot;, &quot;jahArrastado&quot;);
                      m.html(&quot;Jah fui arrastado!&quot;);
                      // Altera o elemento arrastado para um elemento que não
                      // pode ser arrastado
                      m.draggable({helper: &#039;original&#039;});
                      // Adiciona ao container
                      $(this).append(m);

                    }

                }
            });
            $(&quot;#lixeira&quot;).droppable({
              drop: function(event, ui) {
                // Só elementos arrastados podem ser removidos
                if($(ui.draggable).hasClass(&quot;jahArrastado&quot;))
                {
                  $(ui.draggable).remove();
                }

              }
            });

        });
    &lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class=&quot;myDrag&quot; id=&quot;drag1&quot;&gt;Posso ser arrastado!&lt;/div&gt;
&lt;div class=&quot;myDrop&quot; id=&quot;drop1&quot;&gt;Arraste algo aqui!&lt;/div&gt;
&lt;div class=&quot;myDrop&quot; id=&quot;lixeira&quot;&gt;Lixeira&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/22/dicas-rapidas-exf03-drag-drop-em-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; ListBox</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exf03-listbox/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exf03-listbox/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 19:55:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[listbox]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=236</guid>
		<description><![CDATA[Em seu exercício, você precisa gerenciar uma lista de convidados. Uma ideia simples é utilizar uma caixa de listagem (listbox) para exibir esta lista de convidados e permitir sua reordenação.
Dê uma olhada na documentação que relacionei à listbox e também nos exemplos de uso de cada componente.
Para facilitar, também coloquei um exemplo em anexo relacionado [...]]]></description>
			<content:encoded><![CDATA[<p>Em seu exercício, você precisa gerenciar uma lista de convidados. Uma ideia simples é utilizar uma caixa de listagem (listbox) para exibir esta lista de convidados e permitir sua reordenação.<br />
Dê uma olhada na <a href="http://docs.google.com/Doc?id=ajggmrkzh2pb_1040f5vn28cv#bps0">documentação que relacionei à listbox</a> e também nos <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/03/exemploscomponentesv01.zip">exemplos de uso de cada componente</a>.</p>
<p>Para facilitar, também coloquei um <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplolistbox.zip">exemplo em anexo</a> relacionado à reordenação dos itens da lista.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exf03-listbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas Rápidas &#8211; Exercício F03 &#8211; Class Library (2)</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exercicio-f03-class-library-2/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exercicio-f03-class-library-2/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 16:38:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[class library]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[passo a passo]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=223</guid>
		<description><![CDATA[Anteriormente, já deixei claro que um dos requisitos do Exercício F03 é a organização do código em uma biblioteca de classes (Class Library).

1) A Class Library é criada via menu New Project > Class Library.

2) As classes que você deseja expor devem ser públicas.

3) O arquivo referente à class library está dentro da pasta Bin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.brunocampagnolo.com/2009tp/2009/04/04/aula-14-dicas-para-exercicio-f03-class-library/">Anteriormente</a>, já deixei claro que um dos requisitos do Exercício F03 é a organização do código em uma biblioteca de classes (Class Library).<br />
<span id="more-223"></span><br />
1) A Class Library é criada via menu New Project > Class Library.<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary-300x212.png" alt="classlibrary" title="classlibrary" width="300" height="212" class="alignnone size-medium wp-image-224" /></a></p>
<p>2) As classes que você deseja expor devem ser públicas.<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary2.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary2.png" alt="classlibrary2" title="classlibrary2" width="479" height="278" class="alignnone size-full wp-image-225" /></a></p>
<p>3) O arquivo referente à class library está dentro da pasta Bin do projeto.<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary3.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary3-300x59.png" alt="classlibrary3" title="classlibrary3" width="300" height="59" class="alignnone size-medium wp-image-226" /></a></p>
<p>4) Para adicionar a referência dentro de seu projeto Windows Forms ou Web, use a opção Add Reference no menu Project.<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary4.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary4.png" alt="classlibrary4" title="classlibrary4" width="249" height="412" class="alignnone size-full wp-image-227" /></a></p>
<p>5) Se o seu projeto Windows Forms ou Web estiver dentro da mesma solução da Class Library, selecione a opção Projects.</p>
<p><a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary5.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary5.png" alt="classlibrary5" title="classlibrary5" width="489" height="410" class="alignnone size-full wp-image-228" /></a></p>
<p>6) No caso de trabalhar com a Class Library independentemente ou se você tiver apenas a Dll referente à Class Library, encontre sua dll através da aba Browse.</p>
<p><a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary6.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary6.png" alt="classlibrary6" title="classlibrary6" width="487" height="412" class="alignnone size-full wp-image-229" /></a></p>
<p>7) Ok! As classes que você expôs estão disponíveis para seu projeto.</p>
<p><a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary7.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/classlibrary7.png" alt="classlibrary7" title="classlibrary7" width="265" height="384" class="alignnone size-full wp-image-234" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exercicio-f03-class-library-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas Rápidas &#8211; ExF03 &#8211; Selects com jQuery</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exf03-selects-com-jquery/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exf03-selects-com-jquery/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 16:07:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[select]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=217</guid>
		<description><![CDATA[Para obter o valor de um &#60;select&#62; através da biblioteca jQuery é necessário descobrir qual é a opção selecionada.
No exemplo abaixo (e no link), ao trocar o item selecionado em uma caixa de seleção, o valor selecionado e o texto referente ao valor são exibidos.


&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34;
  &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&#62;
&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34; xml:lang=&#34;en&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Para obter o valor de um &lt;select&gt; através da biblioteca jQuery é necessário descobrir qual é a opção selecionada.</p>
<p>No exemplo abaixo (e no <a href="http://jsbin.com/ejato/edit">link</a>), ao trocar o item selecionado em uma caixa de seleção, o valor selecionado e o texto referente ao valor são exibidos.</p>
<pre name="code" class="html">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
  &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  $(document).ready( function () {
    // Evento onchange do select
    $(&quot;#slTipo&quot;).change( function() {
      // exibe o valor selecionado e o texto do valor selecionado
      $(&quot;#resultado&quot;).html(&quot;Item selecionado com o valor &quot; + $(this).val() +
                           &quot; e com o texto &quot;+$(&quot;#slTipo :selected&quot;).text());

    });
  });
&lt;/script&gt;
&lt;title&gt;Sandbox&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
body { background-color: #000; font: 16px Helvetica, Arial; color: #fff; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;form action=&quot;&quot;&gt;
    &lt;select id=&quot;slTipo&quot;&gt;
      &lt;option value=&quot;v1&quot;&gt;Op1&lt;/option&gt;
      &lt;option value=&quot;v2&quot;&gt;Op2&lt;/option&gt;
      &lt;option value=&quot;v3&quot;&gt;Op3&lt;/option&gt;
    &lt;/select&gt;
  &lt;/form&gt;
  &lt;div id=&quot;resultado&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>No caso do envio da informação de um select para o servidor Web, pode-se utilizar a função de serialização para codificar o valor do select. Veja abaixo, e<a href="http://jsbin.com/emedi/edit"> no link</a>.</p>
<pre name="code" class="html">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
  &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;
&lt;head&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
  $(document).ready( function () {
    // Evento onchange do select
    $(&quot;#btEnviar&quot;).click( function() {
      // Serializa os itens do formulário
      var s = $(&quot;#myForm&quot;).serialize();
      //
      $(&quot;#resultado&quot;).html(s);
      // Agora, você pode enviar via Ajax o valor dos itens de formulário...
    });
  });
&lt;/script&gt;
&lt;title&gt;Sandbox&lt;/title&gt;
&lt;meta http-equiv=&quot;Content-type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;
&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
body { background-color: #000; font: 16px Helvetica, Arial; color: #fff; }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;form action=&quot;&quot; id=&quot;myForm&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;nome&quot; name=&quot;nome&quot;&gt;
    &lt;select id=&quot;slTipo&quot; name=&quot;slTipo&quot;&gt;
      &lt;option value=&quot;v1&quot;&gt;Op1&lt;/option&gt;
      &lt;option value=&quot;v2&quot;&gt;Op2&lt;/option&gt;
      &lt;option value=&quot;v3&quot;&gt;Op3&lt;/option&gt;
    &lt;/select&gt;
    &lt;input type=&quot;button&quot; value=&quot;Enviar&quot; id=&quot;btEnviar&quot;&gt;
  &lt;/form&gt;
  &lt;div id=&quot;resultado&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>Para um exemplo completo de interação com o servidor, observe o <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/testeselect.zip">exemplo em anexo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/20/dicas-rapidas-exf03-selects-com-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas Rápidas &#8211; ExF03 &#8211; Detecção de Colisão</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-deteccao-de-colisao/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-deteccao-de-colisao/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 16:25:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[colisão]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=207</guid>
		<description><![CDATA[Um dos requisitos no exercício F03 é a não sobreposição dos controles.
Ou seja: um objeto não pode ocupar o lugar de outro ao mesmo tempo. 
Uma maneira simples de detectar a colisão é através da propriedade Bounds de um controle.
Tal propriedade reflete o retângulo relacionado à área ocupada por um controle. O método IntersectsWith desta [...]]]></description>
			<content:encoded><![CDATA[<p>Um dos requisitos no exercício F03 é a não sobreposição dos controles.<br />
Ou seja: um objeto não pode ocupar o lugar de outro ao mesmo tempo. </p>
<p>Uma maneira simples de detectar a colisão é através da propriedade Bounds de um controle.<br />
Tal propriedade reflete o retângulo relacionado à área ocupada por um controle. O método IntersectsWith desta propriedade pode ser usado para verificar se um retângulo tem algum cruzamento com outro.</p>
<p>No exemplo abaixo, no caso de sobreposição, a posição original é retornada.<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/sobreposicao.zip">Ver em anexo</a> o código funcionando.</p>
<pre name="code" class="c#">

// Obtém o elemento que está sendo arrastado
Button b = (Button) e.Data.GetData(typeof(Button));
// Armazena o ponto no qual o retângulo está
Point pOrigem = b.Location;
// Calcula o ponto que o elemento foi arrastado
Point p = new Point(e.X, e.Y);
// Coloca no ponto desejado
b.Location = this.PointToClient(p);
// Percorre todos os controles do form
foreach (Control c in this.Controls)
{
 // Há um cruzamento entre os dois controles
 // ou seja, um está sobre o outro
 // O controle não é ele mesmo (b!=c)
 if (b.Bounds.IntersectsWith(c.Bounds) &amp;&amp; b!=c)
 {
    // Volta para a posição original
    b.Location = pOrigem;
    break;
 }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-deteccao-de-colisao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Drag &amp; Drop de elemento criado dinamicamente</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-drag-drop-de-elemento-criado-dinamicamente/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-drag-drop-de-elemento-criado-dinamicamente/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 15:46:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[drag&drop]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=203</guid>
		<description><![CDATA[Em sua interface pode ser necessária a criação de elementos em tempo de execução.
Anteriormente, na Aula 11, percebemos que esta criação se dá através da instanciação do elemento que se deseja inserir na interface e de sua colocação no container desejado através do método Add da coleção Controls.
Exemplo:


// Cria uma instância de botão
Button b = [...]]]></description>
			<content:encoded><![CDATA[<p>Em sua interface pode ser necessária a criação de elementos em tempo de execução.<br />
Anteriormente, na <a href="http://www.brunocampagnolo.com/2009tp/2009/03/26/aula-11-componentes-em-tempo-de-execucao-em-windows-forms/">Aula 11</a>, percebemos que esta criação se dá através da instanciação do elemento que se deseja inserir na interface e de sua colocação no container desejado através do método Add da coleção Controls.</p>
<p>Exemplo:</p>
<pre name="code" class="c#">

// Cria uma instância de botão
Button b = new Button();
// Determina o tamanho na tela
b.Size = new Size(30, 30);
// Coloca na posição 100, 100
b.Location = new Point(100, 100);
// Adiciona no formulário
this.Controls.Add(b);
</pre>
<p>Se for necessária a criação de um componente em tempo de execução e que possua funcionalidade de drag&amp;drop o evento MouseDown também deve ser considerado.</p>
<pre name="code" class="c#">

// Cria uma instância de botão
Button b = new Button();
// Determina o tamanho na tela
b.Size = new Size(30, 30);
// Coloca na posição 100, 100
b.Location = new Point(100, 100);
// Determina o evento de mouse down para indicar
// o drag &amp; drop
b.MouseDown += new MouseEventHandler(b_MouseDown);
// Adiciona no formulário
this.Controls.Add(b);
...
void b_MouseDown(object sender, MouseEventArgs e)
{
       this.DoDragDrop(sender, DragDropEffects.Move);
}
</pre>
<p>Em <a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/dragedropdinamico.zip">anexo</a>, exemplo de aplicação desta ideia.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/11/dicas-rapidas-exf03-drag-drop-de-elemento-criado-dinamicamente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; Ex03 &#8211; Passando informações de um formulário a outro</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/06/dicas-rapidas-ex03-passando-informacoes-de-um-formulario-a-outro/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/06/dicas-rapidas-ex03-passando-informacoes-de-um-formulario-a-outro/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 13:40:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[Windows Forms]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=200</guid>
		<description><![CDATA[Existem diversas abordagens possíveis para a passagem de informações de um formulário a outro.
Ver a discussão de algumas destas no artigo: http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx
Em anexo, exemplo de duas destas abordagens. Na primeira, um controle de um form pode ser exposto para outro através da alteração da propriedade Modifiers.
No segundo exemplo, o construtor do form é alterado de [...]]]></description>
			<content:encoded><![CDATA[<p>Existem diversas abordagens possíveis para a passagem de informações de um formulário a outro.<br />
Ver a discussão de algumas destas no artigo: <a href="http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx">http://www.codeproject.com/KB/cs/pass_data_between_forms.aspx</a></p>
<p><a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplocomunicacaoforms.zip">Em anexo</a>, exemplo de duas destas abordagens. Na primeira, um controle de um form pode ser exposto para outro através da alteração da propriedade Modifiers.</p>
<p>No segundo exemplo, o construtor do form é alterado de maneira a receber o que se deseja compartilhar.</p>
<p>IMPORTANTE: Salienta-se que os <strong>exemplos são didáticos</strong> e servem apenas para demonstração da funcionalidade. Desta forma, não estão preocupados com a organização de seu código em um projeto maior, muito menos com a adequabilidade em relação à patterns de programação ou interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/06/dicas-rapidas-ex03-passando-informacoes-de-um-formulario-a-outro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dicas rápidas &#8211; ExF03 &#8211; Alterando a imagem a partir de uma combo</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/04/06/dicas-rapidas-exf03-combo-picturebox/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/04/06/dicas-rapidas-exf03-combo-picturebox/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 12:38:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[ComboBox]]></category>
		<category><![CDATA[exercícioF03]]></category>
		<category><![CDATA[PictureBox]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=193</guid>
		<description><![CDATA[Começando uma série de postagens baseadas nas principais dúvidas enviadas via Correio referentes aos exercício F03.
Segue em anexo, exemplo de alteração de uma imagem a partir de uma seleção de combobox. Abaixo, fragmento de código a ser inserido no evento SelectedIndexChanged da combo.


            switch [...]]]></description>
			<content:encoded><![CDATA[<p>Começando uma série de postagens baseadas nas principais dúvidas enviadas via Correio referentes aos exercício F03.</p>
<p><a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/exemplopictureboxcombobox.zip">Segue em anexo</a>, exemplo de alteração de uma imagem a partir de uma seleção de combobox. Abaixo, fragmento de código a ser inserido no evento SelectedIndexChanged da combo.</p>
<pre name="code" class="c#">

            switch (comboBox1.SelectedIndex)
            {
                case 0:
                    pictureBox1.Image = global::ExemploPictureBoxComboBox.Properties.Resources.tankbrigade;
                    break;
                case 1:
                    pictureBox1.Image = global::ExemploPictureBoxComboBox.Properties.Resources.arinoid_master;
                    break;
                case 2:
                    pictureBox1.Image = global::ExemploPictureBoxComboBox.Properties.Resources.vehicles;
                    break;
            }
</pre>
<p>Observe que as imagens devem ser importadas como recurso do projeto para que possam ser utilizadas. Para importar uma imagem crie um novo arquivo de recurso (resource file) ou insira novas imagens no gerenciador de recursos disponível na utilização da propriedade Image da PictureBox (imagem abaixo).<br />
<a href="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/duvida_comboimage.png"><img src="http://www.brunocampagnolo.com/2009tp/wp-content/uploads/2009/04/duvida_comboimage.png" alt="duvida_comboimage" title="duvida_comboimage" width="489" height="343" class="alignnone size-full wp-image-196" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/04/06/dicas-rapidas-exf03-combo-picturebox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dúvidas sobre evento onchange (resolução do Exercício R01)</title>
		<link>http://www.brunocampagnolo.com/2009tp/2009/02/18/duvidas-sobre-evento-onchange-resolucao-do-exercicio-r01/</link>
		<comments>http://www.brunocampagnolo.com/2009tp/2009/02/18/duvidas-sobre-evento-onchange-resolucao-do-exercicio-r01/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 17:49:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[dúvida]]></category>
		<category><![CDATA[exercícioR01]]></category>
		<category><![CDATA[onchange]]></category>

		<guid isPermaLink="false">http://www.brunocampagnolo.com/2009tp/?p=44</guid>
		<description><![CDATA[Pessoal,
Observem dica para o uso do evento onchange em JavaScript.
calculadora.html


&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;&#62;
&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;
&#60;head&#62;
&#60;title&#62;Untitled Page&#60;/title&#62;
&#60;script type=&#34;text/javascript&#34; src=&#34;calculadora.js&#34;&#62;
&#60;/script&#62;
&#60;/head&#62;
&#60;body onload=&#34;configurar()&#34;&#62;
  &#60;form action=&#34;&#34;&#62;
  &#60;p&#62;
    &#60;input id=&#34;txtVal1&#34; type=&#34;text&#34; /&#62;
  &#60;/p&#62;
  &#60;p&#62;
    &#60;input id=&#34;txtVal2&#34; type=&#34;text&#34; /&#62;
  &#60;/p&#62;
  &#60;p&#62;
    &#60;input id=&#34;btMais&#34; type=&#34;button&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Observem <a href="http://jsbin.com/uwupe">dica</a> para o uso do <a href="http://code.google.com/p/doctype/wiki/OnChangeEvent">evento onchange</a> em JavaScript.</p>
<p><strong>calculadora.html</strong></p>
<pre name="code" class="html">

&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;title&gt;Untitled Page&lt;/title&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;calculadora.js&quot;&gt;
&lt;/script&gt;
&lt;/head&gt;
&lt;body onload=&quot;configurar()&quot;&gt;
  &lt;form action=&quot;&quot;&gt;
  &lt;p&gt;
    &lt;input id=&quot;txtVal1&quot; type=&quot;text&quot; /&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;input id=&quot;txtVal2&quot; type=&quot;text&quot; /&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;input id=&quot;btMais&quot; type=&quot;button&quot; value=&quot;+&quot; /&gt;
    &lt;input id=&quot;btMenos&quot; type=&quot;button&quot; value=&quot;-&quot; /&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;input id=&quot;btVezes&quot; type=&quot;button&quot; value=&quot;*&quot; /&gt;
    &lt;input id=&quot;btDividido&quot; type=&quot;button&quot; value=&quot;/&quot; /&gt;
  &lt;/p&gt;
  &lt;p&gt;
    &lt;select id=&quot;slOperacoes&quot; name=&quot;D1&quot;&gt;
      &lt;option&gt;Escolha uma operação&lt;/option&gt;
      &lt;option&gt;Somar&lt;/option&gt;
      &lt;option&gt;Diminuir&lt;/option&gt;
    &lt;/select&gt;
    &lt;div id=&quot;resultado&quot;&gt;&lt;/div&gt;
  &lt;/p&gt;
  &lt;br&gt;
  &lt;br&gt;
  &lt;/form&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p><strong>calculadora.js</strong></p>
<pre name="code" class="javascript">

function somar()
{
  // val1 reflete o objeto caixa de texto txtVal1
  var val1 = document.getElementById(&quot;txtVal1&quot;);
  // val1 reflete o objeto caixa de texto txtVal2
  var val2 = document.getElementById(&quot;txtVal2&quot;); 

  // Realiza a operação.
  var resultado = parseInt(val1.value) +
                  parseInt(val2.value);
  //alert(resultado);
  // res reflete a div cujo id é resultado
  var res = document.getElementById(&quot;resultado&quot;);
  // escreve o resultado na div
  res.innerHTML = resultado;
}
function diminuir()
{
//... Complete com o seu código
}
function operar()
{
  // this é a caixa de seleção associada ao evento
  switch (this.selectedIndex)
  {
    case 1:
      somar();
    break;
    case 2:
      diminuir();
    break;
    //...
  } 

}
function configurar()
{
  // Configura o botão, associando a função somar ao clique do botão
  var btMais =
      document.getElementById(&quot;btMais&quot;);
  btMais.onclick = somar;
  // Associa a função operar ao evento onchange do slOperacoes.
  // Assim, quando o valor
  var slOperacoes =
      document.getElementById(&quot;slOperacoes&quot;);
  slOperacoes.onchange = operar;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.brunocampagnolo.com/2009tp/2009/02/18/duvidas-sobre-evento-onchange-resolucao-do-exercicio-r01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

