Microsoft PowerPoint - hci2-lecture9.ppt [호환 모드]

Similar documents
PowerPoint Template

C# 입문 : 이론과 실습

C# 입문 : 이론과 실습

C# 입문 : 이론과 실습

Visual Basic 기본컨트롤

Visual Basic 반복문

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

Visual Basic Visual Basic 소개

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Microsoft PowerPoint - hci2-lecture8.ppt [호환 모드]

chap 5: Trees

어댑터뷰

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

untitled

비주얼프로그래밍 (Visual Basic .NET)

untitled

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

untitled

untitled

윈도우 프로그래밍의 개념

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

13 주차 - MDI, Exception, WebBrowser, RichTextBox, AlarmProgram 대림대학 년도 1 학기홍명덕

untitled

Javascript

VS_chapter10

학습목표 텍스트파일을다룰수있다. 스트림읽기, 쓰기를안다. 2

chap 5: Trees

오버라이딩 (Overriding)

untitled

PowerPoint Presentation

adfasdfasfdasfasfadf

Microsoft Word - src.doc

Microsoft PowerPoint - e pptx

untitled

(6) (class): (7) (event) (event procedure) 1) : 2) : (8) : (GUI ) 2. : (*.frm) -> (compile) -> (*.exe) (p. 535 ) 3. (IDE (Integrated Development Envir

쉽게 풀어쓴 C 프로그래밊

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

untitled

untitled

C# Programming Guide - Types

gnu-lee-oop-kor-lec10-1-chap10

Microsoft PowerPoint - ÀÚ¹Ù08Àå-2.ppt

C# 입문 : 이론과 실습

untitled

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

윈도우 프로그래밍의 개념

MF3010 MF Driver Installation Guide

PowerPoint 프레젠테이션

Chapter 4. LISTS

tiawPlot ac 사용방법

슬라이드 1

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

PowerPoint Presentation

<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

Microsoft PowerPoint - 07-Data Manipulation.pptx

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Database Design Lab: MS Access Queries 1. Download lab6.accdb and rename it to lab7.accdb. 2. 이름 값을가지는쿼리 qryauthor 를만든다 a) Open lab6.accdb. b) 리본메뉴 만들

Microsoft PowerPoint - CSharp-10-예외처리

7장

비주얼프로그램I_04.pptx

View Licenses and Services (customer)

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

C스토어 사용자 매뉴얼

C# 입문 : 이론과 실습

리스트 (list), 선형리스트 (linear list): 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 L = n ( item0, item1,..., item -1) l 리스트의예 l 요일 : ( 일요일, 월요일,, 토요일 ) l 한글자음의모임 : ( ㄱ, ㄴ

1장. 리스트

1. 매크로활성화체크홈페이지에서예제파일을직접다운받으신경우, 예제파일은매크로가포함된파일이므로상단에 [ 매크로활성화버튼 ] 을체크해주세요. 2. 옵션버튼편집하기 각옵션버튼을누를때마다, 선택된포탈사이트의커맨드버튼이나타나도록옵션버튼에 Click 이벤트명령문을입혀줍니다. 네이버

Lab 3. 실습문제 (Single linked list)_해답.hwp

MVVM 패턴의 이해

OOO Paint

2009년 상반기 사업계획

슬라이드 1

PowerPoint Presentation

PowerPoint 프레젠테이션

EMBARCADERO TECHNOLOGIES (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

C++ Programming

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

메뉴얼41페이지-2

UI TASK & KEY EVENT

슬라이드 1

SAP Tech를 통해 SAP의 Web Application Server와 그것을 근간으로 서비스되는 BSP Application에 대한 소개를 하게 되어 기쁘다

JAVA PROGRAMMING 실습 05. 객체의 활용

Microsoft PowerPoint - 06-Chapter09-Event.ppt

JAVA PROGRAMMING 실습 08.다형성

Javascript

JAVA PROGRAMMING 실습 09. 예외처리

<4D F736F F F696E74202D203039C0E520B4EBC8ADBBF3C0DA205BC8A3C8AF20B8F0B5E55D>

슬라이드 1

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

04장 메시지 처리 유형

Microsoft PowerPoint - web-part02-ch16-이벤트.pptx

PowerPoint 프레젠테이션

Transcription:

Overview C# Controls 321190 2011 년가을학기 10/25/2011 박경신 Common Controls Label, LinkLabel TextBox Button GroupBox, Panel CheckBox, Radio Button ListBox, ComboBox Timer ImageList TabControl ListView TreeView Common Controls 상속계층구조 System.Object System.MarshalByRefObject t System.ComponentModel.Component System.Windows.Forms.Control System.Windows.Forms.Label // 레벨 System.Windows.Forms.LinkLabel // 링크레벨 System.Windows.Forms.TextBoxBase System.Windows.Forms.TextBox // 텍스트박스 System.Windows.Forms.ButtonBase System.Windows.Forms.Button // 버튼 System.Windows.Forms.CheckBox // 체크박스 System.Windows.Forms.RadioButton // 라디오버튼 System.Windows.Forms.GroupBox // 그룹상자 System.Windows.Forms.ScrollableControl System.Windows.Forms.Panel // 패널 System.Windows.Forms.ListControl System.Windows.Forms.ComboBox // 콤보박스 System.Windows.Forms.ListBox // 리스트박스 System.Windows.Forms.CheckedListBox Label Label 고정된텍스트를표시 사용자에게제목이나짧은글을표시하는용도로사용 Image 속성을사용하여이미지표시가능 설명 Text 레이블의텍스트 TextAlign 레이블에서의텍스트정렬방식지정 BottomCenter/BottomLeft/BottomRight Image 레이블에표시되는이미지 BorderStyle 컨트롤의테두리 Fixed3D/FixedSingle/None Cursor 마우스포인터가컨트롤위에있을때표시되는커서 설정

LinkLabel LinkLabel 하이퍼링크를표시할수있는 label LinkArea, Links - 링크표시 LinkClicked - 링크에대한처리 하이퍼링크클릭시해당페이지를웹브라우저에띄우는처리필요 LinkLabel linklabel1 = new LinkLabel() ; linklabel1.text = 수업블로그로직접이동합니다."; linklabel1.autosize = true; // 라벨의텍스트에서링크로처리할영역지정 (0 위치에서크기 5 영역 ) linklabel1.linkarea = new System.Windows.Forms.LinkArea(0, 5); // 링크를클릭했을때처리할이벤트핸들러등록 linklabel1.linkclicked += new linklabellinkclickedeventhandler( linklabel1_linkclicked); TextBox TextBox 텍스트를입력하고표시하는데사용되는컨트롤 설명 ReadOnly True로하여출력전용으로사용할수있음 Multiline, ScrollBars 여러줄의텍스트를표시하거나입력 MaxLength TextBox 에입력되는텍스트의길이를제한 PasswordChar 입력문자표시를숨김 CharacterCasing 대문자또는소문자로선택가능 Normal/Upper/Lower AcceptsTab,AcceptsReturn p 제어키사용여부 TextChanged 설명사용자가키를누를때마다발생 RichTextBox RichTextBox 좀더확장된텍스트컨트롤 텍스트박스베이스 (TextBoxBase) 라는중간클래스에서파생 텍스트선택, 잘라내기, 복사, 클립보드로부터붙여넣기, 다양한이벤트등의기능제공 SelectedText 설명사용자가마우스로선택한텍스트영역 Button Button 사용자로부터특정동작을수행하도록하는컨트롤 단추에포커스가있는경우마우스, Enter 키또는스페이스바를사용하여클릭가능 설명 FlatStyle l 단추의모양을변경 Standard/System/Flat/Popup/ Parent 컨트롤의부모컨테이너를가져오거나설정 FindForm() 컨트롤이들어있는폼을검색 Control p = btnparent.parent; Form f = btnparent.findform(); Click 설명사용자가버튼을누를때발생

//LinkLabel, Label, TextBox, Button 생성 this.linklabel1 = new System.Windows.Forms.LinkLabel(); this.textbox1 = new System.Windows.Forms.TextBox(); this.button1 = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); //linklabel1 속성및이벤트설정 this.linklabel1.autosize tosi e = true; this.linklabel1.location = new System.Drawing.Point(36, 100); this.linklabel1.name = "linklabel1"; this.linklabel1.size = new System.Drawing.Size(287, 12); this.linklabel1.tabindex = 0; this.linklabel1.tabstop = true; this.linklabel1.text = "HCI Programming II 수업블로그로직접이동합니다."; this.linklabel1.linkclicked LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); //button1 속성및이벤트설정 this.button1.location = new System.Drawing.Point(260, 65); this.button1.name = "button1"; this.button1.size = new System.Drawing.Size(75, 23); this.button1.tabindex = 2; this.button1.text = " 이동 "; this.button1.usevisualstylebackcolor = true; this.button1.click += new System.EventHandler(this.button1_Click); // 웹페이지링크레이블클릭시수업블로그로이동 private void linklabel1_linkclicked(object sender, LinkLabelLinkClickedEventArgs e) { try { linklabel1.linkvisited LinkVisited = true; // call the Process.Start method to open the default browser with a URL System.Diagnostics.Process.Start("http://dis.dankook.ac.kr/lectures/hci09/"); catch (Exception ex) { MessageBox.Show("Unable to open link that was clicked."); // 버튼클릭시 textbox1 에입력한웹페이지링크로이동 private void button1_click(object sender, EventArgs e) { try { // call the Process to open the default browser with a user-input URL System.Diagnostics.Process ieprocess = new System.Diagnostics.Process(); ieprocess.startinfo.filename = this.textbox1.text; ieprocess.start(); catch (Exception ex) { MessageBox.Show("Unable to open link."); GroupBox Panel 그룹상자 폼에배치된컨트롤들을그룹화하기위해사용 라디오버튼이나체크버튼같이관련있는컨트롤들을기능별로분류하여시각적으로표현할때사용컨트롤그룹생성방법 폼에 GroupBox 컨트롤을배치 그룹내에포함할컨트롤들을그룹상자안에배치 기존컨트롤을그룹상자에포함하려면포함할모든컨트롤을선택하여클립보드에잘라낸다음 GroupBox 컨트롤을선택하여그룹상자에붙여넣기또는그룹상자에끌어오기 그룹상자의 Text 속성에적절한캡션을설정 패널 컨트롤그룹화에이용되는컨트롤 캡션지정을위한 Text속성이없으므로캡션기능이필요한그룹설정시그룹상자 (GroupBox) 컨트롤사용 GroupBox AutoScroll - ScrollableControl 클래스에서파생되므로 AutoScroll속성을사용하여 Panel 컨트롤에서스크롤막대활성화 Panel

CheckBox 체크박스 여러개의확인란을선택할수있는컨트롤 Appearance Checked CheckState 설명체크박스를일반적으로표시할지또는버튼모양으로표시할지여부를결정 True/False Checked/Indeterminate/Unchecked 설명 Click 컨트롤을클릭하면 Checked 속성이 True로설 정되고 Click 이벤트처리 CheckedChanged Checked 속성이값이변경되면발생 Radio Button 라디오버튼 사용자가선택그룹에서단일옵션을선택해야할경우에사용 설명 Text 라디오버튼의설명및선택키표시 ( 선택키를 & 과문자 의조합으로설정하면실행시 ALT와함께써서 Click 기능 ) Checked True/False CheckState Checked/Unchecked AutoCheck 속성이 True( 기본값 ) 로설정된라디오버튼을선택하면해 당그룹의다른모든선택표시가자동으로제거 Click CheckedChanged 설명 Checked 속성이 True로설정되고 Click 이벤트처리기가호출 Checked 속성이값이변경되면발생 ListBox ListBox 다수의항목에서단일 / 다중선택할수있는항목목록을표시 SelectionMode 설명단일또는다중선택옵션 MultiExtended/MultiSimple/None/One MultiColumn l 리스트박스의항목들을열형식으로표시여부 Items 리스트박스의항목들에대한컬랙션. Add/AddRange /Insert/Remove/Clear 메소드로항목을추가, 제거 SelectedItem 현재선택된항목의텍스트 ( 선택이없을경우 null) SelectedIndex 현재선택된항목의인덱스 ( 선택이없을경우 -1) SelectedItems 다중선택된항목들에대한컬랙션 SelectedIndices 다중선택된항목들에대한인덱스들에대한컬랙션 Sorted 목록의내용을알파벳순서대로정렬 ListBox Click - 항목을클릭할때발생 DoubleClick 항목을더블클릭할때발생 SelectedValueChanged ListBox 의항목선택을변경하면 SelectedValue속성이변경되고, SelectedValueChanged 이벤트발생 SelectedIndexChanged SelectedIndex 속성이변경될때발생 ListBox 의선택된인덱스가변경된시기를확인 주요메소드 public void SetSelected ( int index, bool value ) ListBox의지정된항목을선택하거나선택취소. public bool GetSelected ( int index ) 지정된항목이선택되어있는지여부를나타내는값을반환 public int FindString ( string s ) public int FindString ( string s, int startindex ) FindStringExact() i t() ListBox 에포함된항목검색

ComboBox ComboBox 목록선택과텍스트편집기능을포함한형태 (ListBox+ TextBox) 설명 ComboBoxStyle 콤보박스스타일 DropDown ( 기본스타일 )/DropDownList/Simple SelectedItem 현재선택된항목의텍스트 ( 선택이없을경우 null) SelectedIndex 현재선택된항목의인덱스 ( 선택이없을경우 -1) TextChanged SelectedIndexChanged SelectedValueChanged SelectionChangeCom mitted 설명 Text 속성이변경되면발생 / 리스트의항목을선택하거나텍스트필드에값을입력할때발생 SelectedIndex 속성이변경되면발생 SelectedValue 속성이변경되면발생 선택된항목이변경되고해당변경내용이 ComboBox 에표시될때발생 // 폼에각종컨트롤생성 this.panel1 = new System.Windows.Forms.Panel(); // 패널 1 this.groupbox1 = new System.Windows.Forms.GroupBox(); // 그룹박스1 this.radiobutton1 = new System.Windows.Forms.RadioButton(); // 라디오버튼1 this.radiobutton2 = new System.Windows.Forms.RadioButton(); this.groupbox2 = new System.Windows.Forms.GroupBox(); this.checkbox1 = new System.Windows.Forms.CheckBox(); this.checkbox2 = new System.Windows.Forms.CheckBox(); this.checkbox3 = new System.Windows.Forms.CheckBox(); this.checkbox4 = new System.Windows.Forms.CheckBox(); this.groupbox3 = new System.Windows.Forms.GroupBox(); this.listbox1 = new System.Windows.Forms.ListBox(); this.combobox1 = new System.Windows.Forms.ComboBox(); // 중간생략.. // panel1 this.panel1.controls.add(this.groupbox3); // 패널에그룹박스 1 추가 this.panel1.controls.add(this.groupbox2); // 패널에그룹박스2 추가 this.panel1.controls.add(this.groupbox1); // 패널에그룹박스3 추가 this.panel1.location = new System.Drawing.Point(28, 65); this.panel1.name = "panel1"; this.panel1.size = new System.Drawing.Size(225, 335); this.panel1.tabindex = 2; // Form1 this.controls.add(this.panel1); // 폼에패널추가 // CheckBox this.checkbox4 = new System.Windows.Forms.CheckBox(); this.checkbox3 = new System.Windows.Forms.CheckBox(); this.checkbox2 = new System.Windows.Forms.CheckBox(); this.checkbox1 = new System.Windows.Forms.CheckBox(); // checkbox1 this.checkbox1.autosize = true; this.checkbox1.checked = true; this.checkbox1.checkstate = System.Windows.Forms.CheckState.Checked; this.checkbox1.location = new System.Drawing.Point(8, 22); this.checkbox1.name = "checkbox1"; this.checkbox1.size = new System.Drawing.Size(86, 16); this.checkbox1.tabindex = 0; this.checkbox1.text = "checkbox1"; this.checkbox1.usevisualstylebackcolor = true; this.checkbox1.checkedchanged += new System.EventHandler(checkBox_CheckedChanged); // checkbox2 this.checkbox2.text = "checkbox2"; this.checkbox2.checkedchanged += new System.EventHandler(checkBox_CheckedChanged); // checkbox3 this.checkbox3.text = "checkbox3"; this.checkbox3.checkedchanged += new System.EventHandler(checkBox_CheckedChanged); // checkbox4 this.checkbox4.text = "checkbox4"; this.checkbox3.checkedchanged += new System.EventHandler(checkBox_CheckedChanged); // checkbox CheckedChanged 이벤트처리 private void checkbox_checkedchanged(object sender, EventArgs e) { CheckBox cb = (CheckBox) sender; MessageBox.Show(cb.Text + "+ cb.checkstate, "CheckedChanged Event");

// RadioButton System.Windows.Forms.RadioButton radiobutton1; System.Windows.Forms.RadioButton radiobutton2; System.Windows.Forms.RadioButton radiobutton3; // radiobutton1 radiobutton1.text t = "radiobutton1(&a) ; // 선택키설정 (Alt+A) A) radiobutton1.click += new System.EventHandler(this.radioButton_Click); // radiobutton2 radiobutton2.checked = true; // 초기체크상태 radiobutton2.text = "radiobutton2(&b)"; radiobutton2.click += new System.EventHandler(this.radioButton_Click); // radiobutton3 radiobutton3.text t = "radiobutton3(&c)"; radiobutton3.click += new System.EventHandler(this.radioButton_Click); // RadioButton Click 이벤트처리 private void radiobutton_ Click(object sender, EventArgs e) { RadioButton rb = (RadioButton)sender; MessageBox.Show(rb.Text, Click Event"); //ListBox System.Windows.Forms.ListBox tb listbox1; // listbox1 디자인에서추가된항목들 listbox1.items.addrange(new object[] { 봄 ", 여름, 가을, 겨울 ); listbox1.sorted = true; // 정렬 listbox1.selectionmode = System.Windows.Forms.SelectionMode.MultiExtended; // 다중선택 // 선택항목이변경될때처리할이벤트핸들러등록 listbox1.selectedindexchanged += new System.EventHandler(this.listBox1_SelectedIndexChanged); // 항목을더블클릭할때처리할이벤트핸들러등록 listbox1.doubleclick += new System.EventHandler(this.listBox1_DoubleClick); //listbox1 의항목을더블클릭하면선택된항목을삭제 void listbox1_doubleclick(object sender, EventArgs e) { if (listbox1.selecteditem!= null) { listbox1.items.remove(listbox1.selecteditem); // 추가버튼을누르면리스트에항목추가 private void add_click(object sender, EventArgs e) { string item = textbox1.text; listbox1.items.add(item); // 편집버튼을누르면기존의것을지우고새로운것을삽입 private void edit_click(object sender, EventArgs e){ if(listbox1.selectedindex!= -1) { string item = textbox1.text; listbox1.items.insert(listbox1.selectedindex, item); listbox1.items.removeat(listbox1.selectedindex); // 삭제버튼을누르면선택된항목을삭제 private void remove_click(object sender, EventArgs e) { if (listbox1.selecteditem (s Seecede!= null) u){ listbox1.items.remove(listbox1.selecteditem); // 전체삭제버튼을누르면모든항목을삭제 private void removeall_click(object sender, EventArgs e) { listbox1.items.clear(); // ComboBox this.combobox1.items.addrange(new object[] { "ASP.NET", "ASP", "JSP", "PHP"); this.combobox1.selectedindexchanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); this.combobox1.textchanged tch += new System.EventHandler(this.comboBox1_TextChanged); private void combobox1 SelectedIndexChanged(object sender EventArgs e) { private void combobox1_selectedindexchanged(object sender, EventArgs e) { MessageBox.Show(comboBox1.SelectedItem +"( + combobox1.selectedindex +"), SelectedIndexChanged Event ); private void combobox1_textchanged(object sender, EventArgs e) { MessageBox.Show(comboBox1.Text, TextChanged Event );

Common Controls 상속계층구조 System.Object System.MarshalByRefObject System.ComponentModel.Component System.Windows.Forms.Timer // 타이머 System.Windows.Forms.ImageList // 이미지리스트 System.Windows.Forms.Control System.Windows.Forms.TabControl // 탭컨트롤 System.Windows.Forms.ListView // 리스트뷰 System.Windows.Forms.TreeView // 트리뷰 System.Windows.Forms.Toolbar // 툴바 System.Windows.Forms.ScrollBar // 스크롤바 System.Windows.Forms.ProgressBar // 프로그래스바 System.Windows.Forms.PictureBox // 그림상자 System.Windows.Forms.MonthCalendar // 달력 Timer Timer 정해진시간간격마다이벤트를발생시키는컨트롤 용도 - Multitasking, 변화되는상태표현 ( 진행상태 ), 자동저장기능, 애니메이션 설명 Enabled 타이머실행여부를설정 Interval 타이머이벤트발생간격 ( 시간 ) ( 단위 : millisecond) 주요메소드 Start()/Stop() Tick 설명타이머를시작 / 중지 설명지정된타이머간격이경과되고타이머를사용할수있을때발생 PictureBox PictureBox 이미지를표시하는데사용설명 Image 표시될이미지지정 SizeMode 이미지크기와위치조절. Normal/CenterImage/StretchImage/AutoSize/Zoom Click 설명그림상자클릭시발생 //PictureBox this.picturebox1.image = ((System.Drawing.Image)(resources.GetObject( GetObject("pictureBox1.Image Image"))); this.picturebox1.location = new System.Drawing.Point(25, 25); this.picturebox1.name = "picturebox1"; this.picturebox1.size = new System.Drawing.Size(246, 204); this.picturebox1.tabindex = 0; this.picturebox1.tabstop = false; //Timer this.timer1.enabled timer1 = true; this.timer1.interval = 1000; this.timer1.tick += new System.EventHandler(this.timer1_Tick); //Timer Tick 이벤트핸들러 private void timer1_tick(object sender, EventArgs e) { if (forward) alpha -= 0.01; else alpha += 0.01; if (alpha <= 0.5 alpha >= 1.0) // alpha: 0.5 ~ 1.0 forward =!forward; this.opacity = alpha; System.Diagnostics.Trace.WriteLine("Debug: alpha=" + alpha);

ImageList 이미지목록 동일한크기의이미지집합 다른컨트롤에서표시할수있는이미지를저장 이미지목록을사용하면하나의일관된이미지카탈로그에대한코드작성가능 컨트롤들사이에서의이미지공유가능 각각의이미지를배열항목처럼취급하여 0부터시작하는인덱스로참조 이미지목록과연결할수있는컨트롤 ListView, TreeView, ToolBar, TabControl, Button, CheckBox, RadioButton, Label ImageList Images 이미지리스트의이미지들을관리하는컬랙션으로이미지컬랙션편집기로이미지등록및제거 // ImageList생성및속성설정예 System.Windows.Forms.ImageList imagelist1 = new System.Windows.Forms.ImageList(this.components); imagelist1.imagestream = ((System.Windows.Forms.ImageListStreamer) (resources.getobject("imagelist1.imagestream"))); imagelist1.transparentcolor = System.Drawing.Color.Transparent; imagelist1.images.setkeyname(0, "textdoc.ico"); imagelist1.images.setkeyname(1, "inifile.ico"); ImageList 컨트롤에이미지리스트적용 컨트롤의 ImageList 속성에배치된 ImageList 컨트롤을연결 ImageIndex 또는 ImageKey에연결할이미지선택 // 이미지리스트의 0 번째인덱스에등록된이미지를버튼의이미지로설정 button1.imageindex = 0; TabControl TabControl 여러페이지로구성된대화상자구성에이용 TabPages SelectedIndex SelectedTab 설명탭페이지 (Tab Page) 들의컬랙션탭페이지선택인덱스확인및변경탭페이지선택확인및변경 Click Selected 설명탭을클릭할때발생탭을선택할때발생 주요메소드 설명 SelectTab(Int32) 지정된인덱스의탭을현재탭으로설정 SelectTab(String) 지정된이름의탭을현재탭으로설정 SelectTab(TabPage) 지정된탭페이지를현재탭으로설정

TabPage 속성편집기 TabControl TabPages 를구성하는 TabPage 의속성을편집 TabControl에 ImageList 설정하기 1. ImageList 컨트롤배치 2. Images 컬랙션속성에이미지등록 3. TabControl 의 ImageList 속성에 ImageList 컨트롤적용 4. TabControl의 TabPage 컬랙션편집기에서각 TabPage의 ImageIndex 또는 ImageKey 속성에이미지연결 // TabControl this.tabcontrol1.controls.add(this.tabpage1); this.tabcontrol1.controls.add(this.tabpage2); this.tabcontrol1.name = "tabcontrol1"; this.tabcontrol1.selected += new System.Windows.Forms.TabControlEventHandler(this.tabControl1_Selected); tabcontrol1 Selected); // tabpage1 this.tabpage1.backgroundimage = ((System.Drawing.Image)(resources.GetObject("tabPage1.BackgroundImage"))); this.tabpage1.controls.add(this.label2); h l b l this.tabpage1.controls.add(this.label1); this.tabpage1.text = 일반 "; // tabpage2 this.tabpage2.controls.add(this.textbox2); this.tabpage2.controls.add(this.textbox1); this.tabpage2.controls.add(this.label4); this.tabpage2.controls.add(this.label3); l b l3 this.tabpage2.text = 컴퓨터이름 "; // Selected 이벤트핸들러 private void tabcontrol1_selected(object sender, EventArgs e) { if (tabcontrol1.selectedtab.text == 일반 ) { this.label2.text = SysmtemInformation.UserName; this.toolstripstatuslabel1.text = 일반탭 ; else if (tabcontrol1.selectedtab.text l b T == 컴퓨터이름 ) { // 중간생략 ListView ListView 아이콘과함께항목목록을표시하는컨트롤 각목록항목에대해여러개의열표시가능 ListView의 View 속성 자세히보기 큰아이콘보기 작은아이콘보기 리스트보기큰아이콘보기 타일보기 (LargeIcon) 리스트보기자세히보기 (Details) 작은아이콘보기 (SmallIcon) 리스트보기 (List) 타일보기 (Tile)

ListView ListView - Items Collection ListViewItem ListView 의 Items 속성에추가되는항목 ListViewSubItem ListView 의각 Item 에추가되는하위항목 ListViewItem ListViewSubItem ListView - SubItems Collection ListView - Columns Collection ColumnHeader 리스트뷰의자세히보기에서항목의정보 ( 열머리글 ) 를표현하는집합 리스트뷰의 Columns 속성창을이용하여추가 // ColumnHeader 생성및 ListView의 Columns 속성설정예 System.Windows.Forms.ColumnHeadercolumnHeader1 d l H d = new System.Windows.Forms.ColumnHeader(); columnheader1.text = " 파일명 "; columnheader1.width = 100; // listview1.columns.addrange(new System.Windows.Forms.ColumnHeader[] { columnheader1, columnheader2, columnheader3);

ListView - Columns Collection ListView Add Icons ListView의아이콘이미지연결을위하여 ImageList 컨트롤사용 SmallImageList - 작은아이콘이미지 (16X16) LargeImageList Li - 큰아이콘이미지 (32X32) ListView item 의 ImageIndex 속성설정 ListView Add Icons ListView FullRowSelect ListView.GridLines AllowColumnRecorder LabelEdit CheckBoxes CheckedItems CheckedIndices 설명 해당항목의모든하위항목선택여부설정컨트롤에서항목과하위항목이포함된행과열사이에모눈선을나타낼지여부를설정컨트롤에서열머리글을끌어열의순서변경여부설정항목의레이블편집여부설정 BeforeLabelEdit/AfterLabelEdit 이벤트를사용하여항목테스트를편집하기전 / 후에작업수행컨트롤에있는각항목옆에확인란을표시할지여부설정확인란이선택된모든항목을접근하기위한컬랙션 (ListView.CheckedIndexCollection) 확인란이선택된모든항목의인덱스접근

ListView ItemSelectionChanged 항목의선택상태가변경되면발생 ColumnClick 사용자가 ListView 컨트롤에서열머리글을클릭할때발생 ItemCheck 항목확인란선택시발생 DoubleClick 항목을더블클릭시발생 private void listview1_columnclick(object sender, ColumnClickEventArgs e) { int index = e.column; // 선택된컬럼의인덱스 string str = listview1.columns[index].text; // 선택된컬럼의문자열확인 MessageBox.Show(str, "ColumnClick Event"); private void listview1_itemselectionchanged(object sender, ListViewItemSelectionChangedEventArgs e) { string str = e.item.text + ", selected:" + e.isselected; // 변경된항목의상태확인 MessageBox.Show(str, "ItemSelectionChanged Event ); private void listview1_doubleclick(object sender, EventArgs e) { listview1.items.remove(listview1.focuseditem); // 현재선택된항목삭제 //ListView 생성 private System.Windows.Forms.ListView listview1 = new System.Windows.Forms.ListView(); // ListView의 ListViewItem 생성 System.Windows.Forms.ListViewItem listviewitem1 = new System.Windows.Forms.ListViewItem(new tvi string[] { "text.txt", tt t" "123KB", " 텍스트파일 ", 0); System.Windows.Forms.ListViewItem listviewitem2 = new System.Windows.Forms.ListViewItem(new string[] {"music.mp3", "4.2MB", " 음악파일 ", 1); System.Windows.Forms.ListViewItem listviewitem3 = new System.Windows.Forms.ListViewItem(new string[] {"mail.txt", "23KB", " 편지파일 ", 2); //ListView의 ColumnHeader 생성 listview1.columns.addrange(new l System.Windows.Forms.ColumnHeader[] d { columnheader1, columnheader2, columnheader3); //ListView의 items에생성한 ListViewItem들을추가 listview1.items.addrange(new System.Windows.Forms.ListViewItem[] { listviewitem1, listviewitem2, listviewitem3); // 이미지리스트연결 listview1.largeimagelist = imagelistl; listview1.smallimagelist lli t = imagelists; //ListView의보기 (View) 설정 listview1.view = System.Windows.Forms.View.Details; // 코드를사용한리스트뷰항목생성및속성설정 // 새로운 ListViewItem 생성 ListViewItem newitem = new ListViewItem(); newitem.imageindex ImageIndex = 0; // 이미지리스트의인덱스설정 newitem.text = "addtest.txt"; // 항목의텍스트설정 // 새로운 ListViewItem 의 ListViewSubItem 생성및속성설정 ListViewItem.ListViewSubItem newsubitem1 = new ListViewItem.ListViewSubItem(); ListViewItem.ListViewSubItem newsubitem2 = new ListViewItem.ListViewSubItem(); newsubitem1.text = "50KB"; newsubitem2.text = " 추가연습문서파일 "; // 새로운 ListViewItem 에 ListViewSubItem 추가 newitem.subitems.add (newsubitem1); newitem.subitems.add (newsubitem2); //ListView 항목에새로운 ListViewItem 추가 listview1.items.add(newitem); TreeView TreeView 노드를계층구조방식으로표시하는컨트롤 Nodes 컬렉션 : TreeView 컨트롤에지정된모든 TreeNode 개체들의집합 루트노드와자식노드로구성 모든노드는자식노드라고하는다른노드포함가능 노드를확장또는축소형태로표시 Nodes 컬렉션에있는모든자식트리노드수준을확장 : ExpandAll() TreeNode 수준을확장 : Expand() TreeNode 수준을축소 : Collapse() 확장된상태와축소된상태사이에서전환 : Toggle()

TreeView SelectedNode CheckBoxes 설명 선택된노드확인 노드옆에확인란표시 ShowPlusMinus 노드를확장하거나축소할수있는더하기또는빼기기호단추표시여부설정 ShowRootLines 모든루트트리노드를연결하는선표시여부설정 ShowLines 자식트리노드를해당루트노드에연결하는선표시여부설정 HotTracking 마우스포인터가지나갈때트리노드레이블의모양이하이퍼링크모양으로변경되도록설정 TreeView AfterCheck AfterCollapse AfterExpand AfterLabelEdit AfterSelect 설명트리노드확인란이선택된후에발생트리노드가축소된후에발생트리노드가확장된후에발생트리노드레이블텍스트가편집된후에발생트리노드가선택된후에발생 TreeNode TreeNode 트리뷰를구성하는노드 트리뷰의 Nodes 컬렉션을구성하는요소 TreeNode 편집기를사용하여각노드생성및속성설정 TreeView Add Icons 이미지리스트를사용하여각노드의아이콘이미지설정 노드의 ImageIndex 및 SelectedImageIndex 속성이용 ImageIndex : 보통및확장상태의노드에대해표시되는이미지 SelectedImageIndex : 선택된상태의노드에대해표시되는이미지 //TreeView 의 Image 설정코드 treeview1.imagelist = this.imagelist1; treeview1.imageindex = 0; treeview1.selectedimageindex = 1; 트리뷰를탐색속성 FirstNode, LastNode, NextNode, PrevNode, Parent, FullPath

//TreeNode System.Windows.Forms.TreeNode treenode1 = new System.Windows.Forms.TreeNode(" 춘천 "); System.Windows.Forms.TreeNode treenode2 = new System.Windows.Forms.TreeNode(" 강릉 "); System.Windows.Forms.TreeNode treenode3 = new System.Windows.Forms.TreeNode(" 강원도 ", new System.Windows.Forms.TreeNode[] { treenode1, treenode2); System.Windows.Forms.TreeNode treenode4 = new System.Windows.Forms.TreeNode(" 과천 "); System.Windows.Forms.TreeNode treenode5 = new System.Windows.Forms.TreeNode(" 남양주 "); System.Windows.Forms.TreeNode treenode6 = new System.Windows.Forms.TreeNode(" 경기도 ", new System.Windows.Forms.TreeNode[] { treenode4, treenode5); System.Windows.Forms.TreeNode treenode7 = new System.Windows.Forms.TreeNode(" 제주시 "); System.Windows.Forms.TreeNode treenode8 = new System.Windows.Forms.TreeNode( TreeNode(" 서귀포 "); System.Windows.Forms.TreeNode treenode9 = new System.Windows.Forms.TreeNode(" 제주도 ", new System.Windows.Forms.TreeNode[] { treenode7, treenode8); System.Windows.Forms.TreeNode treenode10 = new System.Windows.Forms.TreeNode(" 지역명 ", new System.Windows.Forms.TreeNode[] { treenode3, treenode6, treenode9); //TreeView System.Windows.Forms.TreeView treeview1 = new System.Windows.Forms.TreeView(); //TreeView 의 Nodes 속성을통한자식노드추가 treeview1.nodes.addrange(new System.Windows.Forms.TreeNode[] { treenode10); //TreeView 메서드, 이벤트, 속성설정예 private void Form1_Load(object sender, EventArgs e) { treeview1.expandall(); // 폼로딩시트리뷰의모든노드를확장 // 트리노드확장후발생되는이벤트핸들러 private void treeview1_afterexpand(object sender, TreeViewEventArgs e) { MessageBoxShow(" MessageBox.Show( 확장되었습니다., " "AfterExpand"); // 트리노드선택후발생되는이벤트핸들러 private void treeview1_afterselect(object sender, TreeViewEventArgs e) { textbox1.text = e.node.text; // 매개변수를이용한현재선택된노드얻기 // textbox1.text = treeview1.selectednode.text; // 선택된노드를얻기위한속성이용 if (e.node.parent!= null) textbox1.text = e.node.parent.text; textbox1.text = e.node.fullpath; // 현재노드까지루트로부터전체경로얻기 // 버튼을누르면 textbox2에적혀있는텍스트를선택된노드의하위노드에추가 private void button1_click(object sender, EventArgs e) { treeview1.selectednode.nodes.add(textbox2.text); private void button2_click(object sender, EventArgs e) { TreeNode currnode = treeview1.selectednode; 1S d // 현재선택노드 if (currnode.prevnode!= null) { treeview1.selectednode = currnode.prevnode; // 현재선택노드의이전노드 treeview1.focus(); else MessageBox.Show(" 이전노드는존재하지않습니다 ", "PreNode");