WOEID CSV, XML, JSON
PERSONLISTVIEWXMLSERIALIZER
PersonListViewXMLSerializer (계층적인 XML 구성예)
PersonListView-SimpleDialog-XMLSerializer.zip
XML SERIALIZATION TUTORIAL
XML Serialization Tutorial
http://www.diranieh.com/NETSerialization/XMLSerialization.htm
SERIALIZATION
Person Serialization (Using BinaryFormatter or SoapFormatter)
http://dis.dankook.ac.kr/lectures/hci09/entry/Simple-Serialization
Person XML Serialization (Using XML Serializer or Soap XML Serializer)
http://dis.dankook.ac.kr/lectures/hci09/entry/XML-Serialization
Person Using ISerialable Interface
http://dis.dankook.ac.kr/lectures/hci09/entry/ISerialable
PersonList Serialization (Using BinaryFormatter or SoapFormatter)
http://dis.dankook.ac.kr/lectures/hci09/entry/PersonList-Serialization
lecture12
lecture12
GDI+
GDI+ A Higher Level API
http://www.csharphelp.com/archives3/files/archive593/GDI.pdf
Pen
http://dis.dankook.ac.kr/lectures/hci09/entry/Pen
Brush
http://dis.dankook.ac.kr/lectures/hci09/entry/Brush
Image
http://dis.dankook.ac.kr/lectures/hci09/entry/DrawImage
ImageAttribute
http://dis.dankook.ac.kr/lectures/hci09/entry/ImageAttributes
ImageTransform
http://dis.dankook.ac.kr/lectures/hci09/entry/DrawImageTransform
DoubleBuffering
http://dis.dankook.ac.kr/lectures/hci09/entry/DoubleBuffering
Graphic Path
http://dis.dankook.ac.kr/lectures/hci09/entry/PathScribble
Draw Freedraw line & rubber band line
http://dis.dankook.ac.kr/lectures/hci10/entry/Rubber-band-line-drawing
Draw shapes
http://dis.dankook.ac.kr/lectures/hci10/entry/Draw-Shape
DrawImageObjects
http://dis.dankook.ac.kr/lectures/hci10/entry/DrawImageObjects
Lecture11
lecture11
hci2-lecture11
Final Exam
기말 프로젝트
MetricConverter 같은 Forms 프로그램 (주제선정 due by 12/5)
-Menu, Toolbar, 각종 Controls (Label, Button, TextBox, etc) 포함
이성광 – 축구 구단 2개의 23명 선수 정보 출력
우해찬 – Metric Converter (6종류의 4개의다른 unit간의 변환 – unit를 변경가능하도록)
이중호 – 게임
박효인 –
Custom Control
사용자 정의 컨트롤
-기존 컨트롤을 상속받아 사용자 정의 새로운 컨트롤을 작성
-UserControl을 상속받아 합성 컨트롤을 작성
1. 파일 메뉴->새로 만들기->프로젝트
Visual C# 프로젝트 목록에서 “Windows Forms 컨트롤 라이브러리” 선택하고 이름을 “NumberTextBoxLib”을 입력
2. 솔루션 탐색기에서 UserControl1.cs를 NumberTextBox.cs로 변경
NumberTextBox.cs 코드에서 상속을 UserControl에서 TextBox로 변경
public partial class NumberTextBox: TextBox
NumberTextBox.Designer.cs에 InitializeComponent()에서 AutoScaleMode 속성은 삭제
NumberTextBox.cs 코드에서 OnKeyPress(…) 메소드를 재정의
솔루션을 빌드하면 컨트롤이 완성
완성
———————————————————————————————
사용자 정의 컨트롤 사용
1.솔루션 탐색기의 “참조”에 “NumberTextBoxLib.dll”를 “참조추가”
“도구상자”에서 오른쪽 마우스 “항목선택”을 한 후 “찾아보기” 버튼에서 “NumberTextBoxLib.dll” 다시 로딩한 후, “NumberTextBox” 에 체크가 됬는지 확인
2. 폼에 “NumberTextBox”를 사용하여 디자인하고 솔루션을 빌드하면 컨트롤이 완성
Integer Number Only Textbox
//number only textbox using TryParse
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
int value = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out value);
}
//number only textbox using Regex.IsMatch
private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
{
if (!System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar.ToString(), “\\d+”))
e.Handled = true;
}
// NumberTextBoxLib custom control (inherited from TextBox)
public
partial class NumberTextBox : TextBox
{
public NumberTextBox()
{
InitializeComponent();
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
int value = 0;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out value);
}
}