13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 - 2011 년도 1 학기홍명덕 (myungduk.hong@gmail.com)
MDI(Multiple Document Interface) 응용프로그램은하나의응용프로그램에서동시에여러개의문서로작업할수있도록인터페이스를제공하는응용프로그램문서 (document) 는응용프로그램에서관리하는데이터 SDI(Single Document Interface) SDI 응용프로그램은한개의문서만을관리 2
MDI 부모폼생성 ismdicontainer 속성을 True 로설정 True 로설정하면폼의바탕색이짙은회색으로변함기존폼의표시형태와동작이 MDI 부모폼의형태로바뀌게됨 IsMdiContainer 속성 IsMdiContainer 속성을 True 일경우 3
MDI 자식폼생성 MDI 자식폼도폼클래스에서파생된클래스로구현실행시에자식폼의 MdiParent 속성을현재의 MDI 부모폼클래스로설정 4
창메뉴의정렬보통 MDI 폼의메뉴중에는창 (window, 윈도우 ) 메뉴를포함윈도우메뉴는아이콘정렬, 계단식정렬, 가로바둑판식정렬, 세로바둑판식정렬의메뉴항목이있음현재로드된자식폼의목록볼수있음여러개의자식폼을질서정연하게정렬하려면부모폼의 LayoutMdi() 메소드를사용 5
예외사항 (exception) 실행시점에나타나는이벤트인오류예외사항처리 (Exception Handling) 예외사항이발생시에적절하게대처하도록만든것예외사항이필요한이유예외사항처리를해서안정성있는프로그램작성오동작이나문제를해결함 6
자주보는예외사항 'Devide by Zero' ( 0 로나누는경우 ) 7
Exception 클래스공통예외사항클래스 (common exception class) 를정의 8
웹브라우저사용자가폼에서웹페이지를탐색할수있도록함 Windows Forms 응용프로그램에서웹페이지와기타브라우저사용가능문서를호스팅할수있음통합 HTML 기반사용자지원또는웹검색기능을제공 Windows Forms 클라이언트응용프로그램에서기존웹기반컨트롤을추가할수있음 9
속성및메서드 속성및메서드설명 URL Navigate GoBack GoForward GoHome GoSearch 현재문서의 URL을가져오거나설정지정된위치에있는문서를 WebBrowser 컨트롤에로드 WebBrowser 컨트롤에서탐색기록의이전페이지 ( 있을경우 ) 를탐색 WebBrowser 컨트롤에서탐색기록의다음페이지 ( 있을경우 ) 를탐색 WebBrowser 컨트롤에서현재사용자의홈페이지를탐색 WebBrowser 컨트롤에서현재사용자의기본검색홈페이지를탐색 참조 : http://msdn.microsoft.com/ko-kr/library/system.windows.forms.webbrowser(v=vs.85).aspx 10
참조 : http://msdn.microsoft.com/ko-kr/library/3s8ys666(v=vs.85).aspx 11
예제 12
코드 Public Class Form1 Private Sub btngodaum_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btngodaum.click WebBrowser1.Navigate("http://www.daum.net") End Sub Private Sub btngonaver_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btngonaver.click WebBrowser1.Navigate("http://www.naver.com") End Sub Private Sub btngogoogle_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btngogoogle.click WebBrowser1.Navigate("http://www.google.com") End Sub Private Sub btngo_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btngo.click WebBrowser1.Navigate(txtUrl.Text) End Sub End Class 13
RichTextBox RichTextBox 컨트롤을사용하면사용자가텍스트를입력하고편집할수있음표준 TextBox 컨트롤보다향상된서식기능을제공텍스트는컨트롤에직접입력하거나 RTF( 서식있는텍스트형식 ) 또는일반텍스트파일에서로드할수있음컨트롤내의텍스트에는문자및단락서식을지정할수있음 14
속성및메서드 속성및메서드설명 SelectionFont SelectionColor SelectionBullet Clear LoadFile SaveFile Find Rtf 텍스트를굵게또는기울임꼴로표시텍스트의색을변경글머리기호목록을만들수있음 TextBox 컨트롤의모든텍스트를삭제기존 RTF 또는 ASCII 텍스트파일을컨트롤로로드할수있음 RTF 또는 ASCII 텍스트로저장할수있음컨트롤텍스트내의특정문자뿐만아니라텍스트문자열을찾음모든 RTF코드를포함하여, RichTextBox 컨트롤의텍스트를가져오거나설정 참조 : http://msdn.microsoft.com/ko-kr/library/system.windows.forms.richtextbox(v=vs.80).aspx#y1248 15
예제 16
코드 Public Class Form1 Private Sub btnsave_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.click Dim file As String SaveFileDialog1.Filter = "RTF 파일 *.rtf" SaveFileDialog1.ShowDialog() file = SaveFileDialog1.FileName Me.RichTextBox1.SaveFile(file) End Sub Private Sub btnopen_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnopen.click Dim file As String OpenFileDialog1.Filter = "RTF 파일 *.rtf" OpenFileDialog1.ShowDialog() file = OpenFileDialog1.FileName Me.RichTextBox1.LoadFile(file) End Sub End Class 17
타이머 (Timer) 컨트롤과사운드플레이어 (SoundPlayer) 컨트롤을사용함입력받은초 ( 정수값 ) 를초당감소시켜 0 이되면미리선택한음악을재생함 18
코드 Imports System.Media Public Class Form1 Private filename As String Private Sub btselectmusic_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btselectmusic.click OpenFileDialog1.ShowDialog() filename = OpenFileDialog1.FileName End Sub Private Sub btstart_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btstart.click Timer1.Start() End Sub Private Sub btstop_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btstop.click Timer1.Stop() End Sub 19
코드 ( 계속 ) Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick txtsecond.text = Val(txtSecond.Text) - 1 If Val(txtSecond.Text) <= 0 Then Timer1.Stop() Dim sp As SoundPlayer = New SoundPlayer(filename) sp.playsync() End If End Sub End Class 20