<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>뿌우</title>
		<link>http://jabez.tistory.com/</link>
		<description></description>
		<language>ko</language>
		<pubDate>Thu, 01 Sep 2011 22:23:38 +0900</pubDate>
		<generator>Tistory 1.1 (http://www.tistory.com/)</generator>
		<image>
		<title>뿌우</title>
		<url><![CDATA[http://cfs6.tistory.com/upload_control/download.blog?fhandle=YmxvZzE5NTgzQGZzNi50aXN0b3J5LmNvbTovYXR0YWNoLzAvMTUwMDAwMDAwMDAwLmpwZw%3D%3D]]></url>
		<link>http://jabez.tistory.com/</link>
		<description></description>
		</image>
		<item>
			<title>부산 버스 안내정보 사이트</title>
			<link>http://jabez.tistory.com/entry/%EB%B6%80%EC%82%B0-%EB%B2%84%EC%8A%A4-%EC%95%88%EB%82%B4%EC%A0%95%EB%B3%B4-%EC%82%AC%EC%9D%B4%ED%8A%B8</link>
			<description>&lt;P&gt;&lt;br /&gt;
PC 버전 : &lt;A href=&quot;http://121.174.75.12/bims&quot;&gt;http://121.174.75.12/bims&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;모바일 버전 : &lt;A href=&quot;http://121.174.75.12/&quot;&gt;http://121.174.75.12/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;정류소번호로 바로 검색하시려면 : &lt;A href=&quot;http://121.174.75.12/02/021.html.asp?m=1&quot;&gt;http://121.174.75.12/02/021.html.asp?m=1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-right tt-sns-icon-size-big&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>소소한이야기</category>
			<author>Born in Pain</author>
			<guid>http://jabez.tistory.com/73</guid>
			<comments>http://jabez.tistory.com/entry/%EB%B6%80%EC%82%B0-%EB%B2%84%EC%8A%A4-%EC%95%88%EB%82%B4%EC%A0%95%EB%B3%B4-%EC%82%AC%EC%9D%B4%ED%8A%B8#entry73comment</comments>
			<pubDate>Thu, 19 Mar 2009 11:34:48 +0900</pubDate>
		</item>
		<item>
			<title>Collection, List, ArrayList....</title>
			<link>http://jabez.tistory.com/entry/Collection-List-ArrayList</link>
			<description>&lt;P&gt;&lt;br /&gt;
1. Arraylist 클래스 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; - 배열의 크기를 자유 자재로 변화시킬수 있다 &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; - 서로 다른 타입의 원소들을 배열에 넣을수 있다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ArrayList al = new ArrayList();&lt;br /&gt;
al.Add(100);&lt;br /&gt;
al.Add(&quot;이건 문자열&quot;);&lt;/P&gt;
&lt;P&gt;foreach (object o in al)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(o.ToString());&lt;br /&gt;
}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;==결과 ==&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;100&lt;br /&gt;
이건 문자열&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;그러나 중복된 데이터가 대한 Add 될수 있다. 이게 장점이 될수도 단점이 될수도 ..&lt;/P&gt;
&lt;P&gt;즉 &lt;/P&gt;
&lt;P&gt;al.Add(100);&lt;/P&gt;
&lt;P&gt;al.Add(&quot;이건 문자열&quot;);&lt;/P&gt;
&lt;P&gt;al.Add(100);&amp;nbsp; &amp;lt;- 또 추가된다는..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;object 를 Add 한후에 나중에 검색할때는 foreach와 if 를 사용해서 찾아와야 한다는..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;2. Stack 클래스 &lt;/P&gt;
&lt;P&gt;스택이라는 데이터 구조의 컬렉션은 나중에 들어온 데이터가 먼저 나오는 구조를 말한다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Stack mStack = new Stack();&lt;/P&gt;
&lt;P&gt;mStack.Push(100);&lt;/P&gt;
&lt;P&gt;mStack.Push((&quot;이건 문자열&quot;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;foreach(object o in mStack)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(o.ToString());&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;==결과 ==&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;스택 테스트&lt;br /&gt;
이건 문자열&lt;br /&gt;
100&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3. Queue 클래스 &lt;/P&gt;
&lt;P&gt;Stack 과 달리 먼저 넣은 데이터가 먼저 나오는 구조를 말한다 .. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Queue mQ = new Queue();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mQ.Enqueue(&quot;큐 테스트&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mQ.Enqueue(100);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mQ.Enqueue(&quot;이건 문자열&quot;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (object o in mQ)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(o.ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;=== 결과 ==&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;큐 테스트&lt;br /&gt;
100&lt;br /&gt;
이건 문자열&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;4. SortedList 클래스 &lt;/P&gt;
&lt;P&gt;SortedList 는 앞에 클래스와 IDictionary 인터페이스를 구현하는데 , 가장 큰 특징은 키와 값을 이용한다는 것이다. &lt;/P&gt;
&lt;P&gt;쉽게 이야기 해서 키와 값을 Add하는데 키 값으로 알아서 Sort 가 된다는 것이다.. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SortedList sl = new SortedList();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sl.Add(&quot;하나&quot;, &quot;가&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sl.Add(&quot;둘&quot;, &quot;나&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sl.Add(&quot;셋&quot;, &quot;다&quot;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; sl.Count; i++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string result = string.Format(&quot;GetKey[{0}] GetByIndex[{1}]&quot;, sl.GetKey(i), sl.GetByIndex(i));&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(result);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;== 결과 ==&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;GetKey[둘] GetByIndex[나]&lt;br /&gt;
GetKey[셋] GetByIndex[다]&lt;br /&gt;
GetKey[하나] GetByIndex[가]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;5. HashTable 클래스 &lt;/P&gt;
&lt;P&gt;위에 설명한 클래스 들은 데이터를 찾고자 할때 데이터를 인덱스를 증가시켜 가면서 찾아야 하는데 반해 &lt;/P&gt;
&lt;P&gt;HashTable 클래스는 키와 값을 Add 하여 보다 손쉽게 찾을때 사용한다. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;단 입력된 키는 중복되면 안된다.. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hashtable htTest = new Hashtable();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htTest.Add(&quot;하나&quot;, &quot;가&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htTest.Add(&quot;둘&quot;, &quot;나&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; htTest.Add(&quot;셋&quot;, &quot;다&quot;);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (object o in htTest)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(o.ToString());&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string result = (string)htTest[&quot;키:하나&quot;];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Debug.Print(&quot;result : &quot; + result);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;HashTable은 키를 가지고 정렬을 하지 않는것으로 SortedList 와 차이를 볼수 있으며 키들을 서로 다른 타입으로 정의해서 사용할수 있다.&lt;br /&gt;
&lt;/P&gt;&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-right tt-sns-icon-size-big&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>C#</category>
			<author>Born in Pain</author>
			<guid>http://jabez.tistory.com/72</guid>
			<comments>http://jabez.tistory.com/entry/Collection-List-ArrayList#entry72comment</comments>
			<pubDate>Fri, 30 Jan 2009 16:24:20 +0900</pubDate>
		</item>
		<item>
			<title>Some Cool Tips for .NET - Code Project</title>
			<link>http://jabez.tistory.com/entry/Some-Cool-Tips-for-NET-Code-Project</link>
			<description>&lt;br /&gt;

&lt;H2&gt;Introduction&lt;/H2&gt;These are some tips for commonly faced problems in .NET . Some of these tips are mine and some of these i have got from different sources. My aim is not to claim the ownership of these tips,but as a newcomer I had faced these problems and had to do lot of googling. So just to help my fellow programmers I am putting this together. One more reason is Codeproject.com ranks quiet &lt;A href=&quot;http://www.alexa.com/data/details/?url=codeproject.com&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;ahead &lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;as compared to other sites of same nature, but still I was not able to find some basic solutions as below. So it is small effort from my side.&lt;br /&gt;
&lt;br /&gt;
&lt;H2&gt;Windows Application&lt;/H2&gt;
&lt;H2&gt;.NET Framework&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to get the path for &quot;My Documents&quot; and other system folders?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.2&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;2. How to get the path to my running EXE?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.3&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;3. How to determine which operating system is running?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.4&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;4. How to get a file&#039;s name from the complete path string?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.5&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;5. How to get a file&#039;s extension from the complete path string?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.6&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;6. What is difference beween VB.NET and C#.NET?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.7&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;7. How to find whether your system has mouse or the number of buttons, whether it has wheel, or whether the mouse buttons are swapped or size of your monitor and many such information?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.8&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;8. What is the purpose of the [STA Thread] attribute for the Main method of a C# program?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.9&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;9. How to import CSV data using .NET application?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.10&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;10. How to find size of logical drives using .NET?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.11&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;11. How can I get the index of substring in a sentence irrespective of it&#039;s case?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip1.12&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;12. How to access value of internal property Rawkind in System.Drawing.Printing.PaperSource in .NET 1.1?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;IMG src=&quot;http://www.codeproject.com/KB/miscctrl/tips/New.gif&quot; align=baseline border=0&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;H2&gt;OOPS&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip8.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. What are Copy Constructors?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip8.2&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;2. What are Read-Only Constants?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;

&lt;H2&gt;VS.NET IDE&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip2.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to manage code snippets in VS.NET IDE?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip2.2&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;2. How to display Line Numbers in code editor?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip2.3&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;3. How to change the color of the regions?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Controls&lt;/H2&gt;
&lt;H2&gt;Forms&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.1.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to create a form with resizing borders and no title bar?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.1.2&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;2. How to use XP Themes with Windows Forms using the .NET?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.1.3&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;3. How to prevent a form from being shown in the taskbar?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.1.4&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;4. How to open default E-mail client on your system with all parameters entered in it,like Outlook Express or Eudora, from your .NET windows or Web Application?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.1.5&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;5. How to create Pop-Up Alert windows like messengers?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.1.6&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;6. What is difference between Anchoring and Docking?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;

&lt;H2&gt;Buttons&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.2.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to set the default button for a form?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.2.2&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;2. How to set the Cancel button for a form?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.2.3&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;3. How to trigger a button click event?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;

&lt;H2&gt;Combo Box&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.3.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. How to fill a ComboBox with the available fonts?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Text Box&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.4.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to disable the default ContextMenu of a TextBox?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.4.2&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;2. How to enter multiline text in textbox through code?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.4.3&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;3. Some useful TextBox Validations&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.4.4&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;4. How to unselect the text in textbox after it receives focus?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;

&lt;H2&gt;DateTime Picker&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.5.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. How to make the DateTimePicker show empty text if no date is selected?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Data Grid&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.6.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to remove the indeterminate status of checkbox in datagrid?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.6.2&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;2. How to group columns in DataGrid?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Panel&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.7.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. How to make a Panel or Label semi-transparent on a Windows Form?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;WebBrowser Control&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.8.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. How to print the contents of Web Browser control?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip3.8.2&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;2. How to assign custom Header and Footer and other page settings while printing the contents of Web Browser control?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;

&lt;H2&gt;ADO.NET&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip4.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. How to bind two controls to the same DataTable without having changes in one control also change the other control?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Crystal Reports&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip5.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to hide the status bar of Crystal Report in Report Viewer?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip5.2&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;2. How to generate PDF version of Crystal Report programmatically?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip5.3&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;3. How to select a printer while printing through Crystal Report programmatically?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Deployment&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip6.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to install database while deploying .NET application ?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip6.2&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;2. How to install MSDE while deploying .NET application?&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip6.3&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;3. How to create conditional shortcuts while deploying .NET application?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;&lt;br /&gt;

&lt;H2&gt;Add ins&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip9.1&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;1. How to get a reference to usercontrol in CreateToolWindow2()?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;br /&gt;

&lt;H2&gt;Miscellaneous&lt;/H2&gt;&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip7.1&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;1. How to enable the mnemonics (underline) being displayed when an application is launched&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip7.2&quot;&gt;&lt;FONT color=#0000ff&gt;&lt;U&gt;2. An easy way to build connection string.&lt;/U&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;br /&gt;
&lt;A href=&quot;http://www.codeproject.com/KB/miscctrl/tips.aspx#tip7.3&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;3. How to add a custom or destination folder to SendTo menu?&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt; &lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-right tt-sns-icon-size-big&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>C#</category>
			<author>Born in Pain</author>
			<guid>http://jabez.tistory.com/68</guid>
			<comments>http://jabez.tistory.com/entry/Some-Cool-Tips-for-NET-Code-Project#entry68comment</comments>
			<pubDate>Mon, 01 Dec 2008 14:32:33 +0900</pubDate>
		</item>
		<item>
			<title>Playing AVI Files using DirectX 9 with C# and .NET</title>
			<link>http://jabez.tistory.com/entry/Playing-AVI-Files-using-DirectX-9-with-C-and-NET</link>
			<description>&lt;br /&gt;

&lt;P align=left&gt;&lt;IMG height=311 src=&quot;http://www.c-sharpcorner.com/UploadFile/mgold/PlayingVideo11242005002218AM/Images/VideoPlayer.jpg&quot; width=334 border=0&gt;&lt;/P&gt;
&lt;P align=left&gt;Figure 1 - Kangaroo Hopping&amp;nbsp; Movie&lt;/P&gt;
&lt;P align=left&gt;&lt;B&gt;Introduction&lt;/B&gt;&lt;/P&gt;
&lt;P align=left&gt;Just got back from a three week trip to Australia and all I can say is, &quot;Give me a home among the gum trees.&quot; (Australian programmers will get what I&#039;m saying here.).&amp;nbsp;Most people know what a kangaroo looks like, but most haven&#039;t seen one up close.&amp;nbsp;Needless to say, they are strange creatures if you are coming from the New York City.&amp;nbsp;Unfortunately, the&amp;nbsp;AVI kangaroo video taken by the digital camera was too large to upload to the site due to the size of the file. In any case, some of you are probably asking yourselves, &quot;Kangaroos or not, how exactly do I play an AVI file in .NET?&quot;. This article will show you how by demonstrating the&amp;nbsp;implementation of a WinForm Video Player.&amp;nbsp; &lt;/P&gt;
&lt;P align=left&gt;&lt;B&gt;The Player&lt;/B&gt;&lt;/P&gt;
&lt;P align=left&gt;The Video Player takes advantage of the DirectX AudioVideoPlayback library. This library mindlessly allows you to play videos inside a Video object.&amp;nbsp;The methods of the Video class are very straight forward (e.g. Play, Stop, Pause) and you simply construct the video object with the name of the file (e.g. &quot;roo.avi&quot;).&amp;nbsp; The tables below illustrate some important&amp;nbsp; methods and properties of the Video class.&lt;/P&gt;
&lt;P align=center&gt;
&lt;TABLE style=&quot;BORDER-COLLAPSE: collapse&quot; borderColor=#808080 borderColorDark=#808080 width=&quot;100%&quot; bgColor=#c0c0c0 borderColorLight=#ffffff border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=#808080&gt;
&lt;TD borderColor=#000000 width=242&gt;&lt;B&gt;&lt;FONT size=2&gt;Method&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD borderColor=#000000&gt;&lt;B&gt;&lt;FONT size=2&gt;Description&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=242&gt;&lt;FONT size=2&gt;Open(string filename)&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Opens an avi file with the passed parameter path name&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=242&gt;&lt;FONT size=2&gt;Play&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Plays the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=242&gt;&lt;FONT size=2&gt;Stop&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Stops the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=242&gt;&lt;FONT size=2&gt;Pause&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Pauses the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=242&gt;&lt;FONT size=2&gt;SeekCurrentPosition(double time,&amp;nbsp; SeekPositionFlags)&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Moves to a particular time position in the avi file relative to the SeekPositionFlag.&amp;nbsp; Time is in 1 x 10&lt;SUP&gt;-7&lt;/SUP&gt; seconds (or&amp;nbsp; 0.1 microseconds)&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=242&gt;&lt;FONT size=2&gt;StopWhenReady&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Waits for the video object to be ready for stopping, and stops the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;TABLE style=&quot;BORDER-COLLAPSE: collapse&quot; borderColor=#808080 borderColorDark=#808080 width=&quot;100%&quot; bgColor=#c0c0c0 borderColorLight=#ffffff border=1&gt;
&lt;TBODY&gt;
&lt;TR bgColor=#808080&gt;
&lt;TD borderColor=#000000 width=127&gt;&lt;B&gt;&lt;FONT size=2&gt;Property&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD borderColor=#000000 width=127&gt;&lt;B&gt;&lt;FONT size=2&gt;Type&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;
&lt;TD borderColor=#000000&gt;&lt;B&gt;&lt;FONT size=2&gt;Description&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Owner&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;System.Windows.Forms.Control &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Sets The Window Forms Control that contains the video.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Fullscreen&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;bool&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Sets whether or not the video is shown fullscreen&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Size&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Size&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Sets the size of the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Duration&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;double&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Gets the time (in seconds) of the full video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;CurrentPosition&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;double&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Sets the position of the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Audio&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD width=127&gt;&lt;FONT size=2&gt;Microsoft.DirectX.AudioVideoPlayback.Audio &lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT size=2&gt;Audio object allows you to control things like the volume, balance and playing of the sound in the video&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;B&gt;Coding&lt;/B&gt;&lt;/P&gt;
&lt;P align=left&gt;You must have DirectX 9 SDK installed to use the avi playing feature described in this article.&amp;nbsp; You can get this SDK from the Microsoft &lt;A href=&quot;http://msdn.microsoft.com/downloads/&quot;&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;MSDN site&lt;/FONT&gt;&lt;/U&gt;&lt;/A&gt;.&amp;nbsp; (Note:&amp;nbsp; It may require an MSDN subscription to get the full SDK, but the redistributable that runs the video is a free download).&amp;nbsp; Once you have the DirectX SDK installed, you can include the Microsoft.DirectX.AudioVideoPlayback&amp;nbsp; assembly as a reference to your project.&amp;nbsp; Just right click on your project References in the Solution Explorer and add the reference as shown below.&amp;nbsp; (If this reference isn&#039;t in the .NET assembly list, you probably don&#039;t have the DirectX 9 SDK installed):&lt;/P&gt;
&lt;P align=left&gt;&lt;IMG height=446 src=&quot;http://www.c-sharpcorner.com/UploadFile/mgold/PlayingVideo11242005002218AM/Images/VideoReference.jpg&quot; width=566 border=0&gt;&lt;/P&gt;
&lt;P align=left&gt;Figure 2 - Adding the DirectX AudioVideoPlayback Reference&lt;/P&gt;
&lt;P align=left&gt;Now you just need to add the using statement in your Form to begin using the Video class:&lt;/P&gt;
&lt;P align=left&gt;&lt;FONT color=#0000ff&gt;using&lt;/FONT&gt; Microsoft.DirectX.AudioVideoPlayback;&lt;/P&gt;
&lt;P&gt;So now let&#039;s take a look at the implementation of the Video Class. The first step is to construct a Video object with the name of the video file which we retrieve from a OpenFile dialog.&amp;nbsp; We then assign the Video.Owner property to the panel inside our winform.&amp;nbsp; Also we resize the video to fit the original dimensions of the panel.&amp;nbsp; Finally we quickly play and pause the video, in order to see the first frame.&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; opens a video from an avi file&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; and plays the first frame inside the panel&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;void&lt;/FONT&gt;&lt;/SPAN&gt; OpenVideo()&lt;br /&gt;
{&lt;br /&gt;
openFileDialog1.InitialDirectory = Application.StartupPath;&lt;br /&gt;
&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt;&lt;/SPAN&gt; (openFileDialog1.ShowDialog() == DialogResult.OK)&lt;br /&gt;
{&lt;br /&gt;
&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// open the video&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// remember the original dimensions of the panel&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;&lt;/SPAN&gt; height = videoPanel.Height;&lt;br /&gt;
&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;&lt;/SPAN&gt; width = videoPanel.Width;&amp;nbsp;&lt;br /&gt;
&lt;FONT color=#008000&gt;// dispose of the old video to clean up resources&lt;/FONT&gt;&lt;br /&gt;
&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt; (_video != null)&lt;br /&gt;
{&lt;br /&gt;
_video.Dispose();&lt;br /&gt;
}&lt;br /&gt;
&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// open a new video&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;_video = &lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;new&lt;/FONT&gt;&lt;/SPAN&gt; Video(openFileDialog1.FileName);&lt;br /&gt;
&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// assign the win form control that will contain the video&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;_video.Owner = videoPanel;&lt;br /&gt;
&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// resize to fit in the panel&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;videoPanel.Width = width;&lt;br /&gt;
videoPanel.Height = height;&lt;br /&gt;
&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// play the first frame of the video so we can identify it&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;_video.Play();&lt;br /&gt;
_video.Pause();&lt;br /&gt;
}&lt;br /&gt;
&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt;// enable video buttons&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;ControlLogic();&lt;br /&gt;
}&lt;/P&gt;
&lt;P&gt;That&#039;s really all there is to using the video object.&amp;nbsp; If we want to play the video until the end, we simply call the Play method on the video object .&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; Plays the video&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;&amp;lt;param name=&quot;sender&quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;///&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb2&gt;&lt;FONT color=#008000&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb1&gt;&lt;FONT color=#808080&gt;&amp;lt;param name=&quot;e&quot;&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;private&lt;/FONT&gt;&lt;/SPAN&gt; &lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;void&lt;/FONT&gt;&lt;/SPAN&gt; btnPlay_Click(&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;object&lt;/FONT&gt;&lt;/SPAN&gt; sender, System.EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
&lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;if&lt;/FONT&gt;&lt;/SPAN&gt; (_video != &lt;SPAN class=cb3&gt;&lt;FONT color=#0000ff&gt;null&lt;/FONT&gt;&lt;/SPAN&gt;)&lt;br /&gt;
{&lt;br /&gt;
_video.Play();&lt;br /&gt;
}&lt;br /&gt;
}&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Conclusion&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The Video class in the Microsoft.DirectX.AudioVideoPlayback library is a powerful graphics class with a very simple implementation.&amp;nbsp; Using this class, you can create powerful applications that include your favorite movie clips in the common avi format.&amp;nbsp; I suspect it will play other movie formats as well (such as mpeg), however, I haven&#039;t tried it.&amp;nbsp; Good luck with this powerful multimedia tool and using it to &lt;I&gt;see&lt;/I&gt; &lt;I&gt;sharp&lt;/I&gt; videos.&lt;br /&gt;
&lt;br /&gt;LoderLock Error&lt;br /&gt;
[Debug]-[Exceptions]-[LoaderLock] Thrown UnCheck&lt;br /&gt;
&lt;br /&gt;&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs8.tistory.com/image/28/tistory/2008/10/09/11/14/48ed68eee9b73&quot; alt=&quot;&quot; filemime=&quot;&quot; filename=&quot;loaderlock.png&quot; height=&quot;370&quot; width=&quot;581&quot;/&gt;&lt;/div&gt;&lt;br /&gt;
&lt;/P&gt;&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-right tt-sns-icon-size-big&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>C#</category>
			<author>Born in Pain</author>
			<guid>http://jabez.tistory.com/66</guid>
			<comments>http://jabez.tistory.com/entry/Playing-AVI-Files-using-DirectX-9-with-C-and-NET#entry66comment</comments>
			<pubDate>Fri, 26 Sep 2008 14:31:30 +0900</pubDate>
		</item>
		<item>
			<title>Flay To the Sky</title>
			<link>http://jabez.tistory.com/entry/Flay-To-the-Sky</link>
			<description>&lt;div class=&quot;imageblock center&quot; style=&quot;text-align: center; clear: both;&quot;&gt;&lt;img src=&quot;http://cfs7.tistory.com/image/26/tistory/2008/09/11/10/46/48c8788cc3318&quot; alt=&quot;사용자 삽입 이미지&quot; height=&quot;533&quot; width=&quot;400&quot;/&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;
&lt;DIV style=&quot;TEXT-ALIGN: center&quot;&gt;필리핀하늘에서 찍은 사진&lt;/DIV&gt;&lt;div class=&quot;tt-plugin ttShareEntryWithSNS tt-sns-icon-alignment-right tt-sns-icon-size-big&quot;&gt;
	&lt;button class=&quot;ttShareEntryWithYozm&quot; id=&quot;ttServiceYozm_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;yozm&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;요즘에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithTwitter&quot; id=&quot;ttServiceTwitter_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;twitter&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;트위터에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithFacebook&quot; id=&quot;ttServiceFacebook_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;facebook&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;페이스북에 보내기&lt;/span&gt;&lt;/button&gt;&lt;button
	class=&quot;ttShareEntryWithMe2day&quot; id=&quot;ttServiceMe2day_&quot; onclick=&quot;ShareEntryWithSNS.share(&#039;me2day&#039;, &#039;&#039;, &#039;&#039;);&quot;&gt;&lt;span&gt;미투데이에 보내기&lt;/span&gt;&lt;/button&gt;
&lt;/div&gt;
</description>
			<category>사진</category>
			<author>Born in Pain</author>
			<guid>http://jabez.tistory.com/65</guid>
			<comments>http://jabez.tistory.com/entry/Flay-To-the-Sky#entry65comment</comments>
			<pubDate>Thu, 11 Sep 2008 10:46:59 +0900</pubDate>
		</item>
	</channel>
</rss>

