C# 은 역시 생각하는데로 만들 수 있다는걸 또 한번 알았습니다. UserControls라는 것은 윈폼과는 조금 다르게 폼 형식이 아닌 Control 형식으로 이루어져 있습니다. 가령 버튼이나, 패널, textBox 등으로 만들 수 있단 말이죠. 이것을 사용하게 된 이유는 무엇인고 하니, 초기 개발 단계에서는 MDI를 이용해서 여러폼을 불러오는 과정을 겪어서 필요를 못느꼈지만, 재개발.. 뭐 한마디로 다시 뒤엎는 과정속에서 하나의 폼 위에 여러패널을 띄우는 방법으로 바뀌게 되면서 찾게 되었습니다. 기존의 MDI 폼 형식은 여러 폼을 띄우기 때문에, 가각의 리소스에는 각각의 폼이 로드 되면 문제가 안됬지만 지금의 형식에서는 여러 패널들을 띄워야 하기 때문에 하나의 폼 위에 여러개의 패널을 띄워 놔야 하기 ..
C# 은 cs 라는 파일을 통해서 폼이든 코드든 관리가 됨. Main.cs 같은 경우에도 cs 라는 파일이 존재하지만 winform 으로 제작시에 디자인( 시각적 효과 )으로도 볼 수 있는 장점이 존재합니다. 그러나 때로는 많은 버튼, 혹은 많은 패널의 위치수정이나 색 변경에 따른 문제점이 생길 수 있습니다. 그래서 가끔은 코딩을 통해서 수정하는 것이 빠를 수도 있겠습니다. 아래의 2개의 예제를 보시고 설명을 마저 하겠습니다. 이건 button1 의 location 을 new point 로 할당해서 위치를 잡아주고, 다음 버튼은 105만큼 x축으로 증가시켜서 한 패널안에 위치시키는 방법입니다. 여러개를 디자인 상으로 마우스 드래그나, 속성에 값을 변경하는 방법도 존재하지만 코드를 구성해서 변경하는 방법도..
웹 화면과 비슷하게 만들기 위해서는, MDI 폼을 이용해서 구성하는 것보다는 패널 또는 판넬( pannel )을 이용해서 만드는 것이 좀 더 쉽다는 결론을 내렸습니다. 위의 두개 화면과 같이 구성하는 것이고, 하는 방법은 도구 상자 중에서 pannel 을 클릭하고, textbox 나 button을 그리듯이 그린 후 사용하면 됩니다. 그리고 여타 다른 도구와 마찬가지로 pannel 의 이름은 1 2 ... 와 같이 늘어나게 되고 Group box 와 비슷한 성질이 있습니다. pannel1.Visible 이나 pannel1.enable 등의 성질도 사용 가능합니다. pannel1.visible = true pannel1.enalble = false 와 같이 사용가능합니다.
클래스가 커질수록 = 메서드가 많아질 수록 = 프로그램이 커질수록 다 동일한 단어이며, 그에 따라 필요한 코드 분할. C나 C++ 같은 경우에는 header 파일에 c 또는 cpp 파일을 참조 시키므로써 가능했던 기능 C# 에서는 partial 을 이용해서 가능하게 한다. 위 두개는 다른 파일임에도 동일한 파일로 인식이 된다. 자동으로 처리해주는 건 역시 C# 컴파일러 겠죠? namespace 명이 같고 class 명도 같고, 단지 partial 이라는 것만 추가 된 것만 으로도 동일한 클래스로 인식이 됩니다. 또한 직접 쓰는 방법도 있지만, C# 에서 cs 파일을 추가하고 위에 namespace 와 class 명을 복사해서 붙여 넣기 하는 것만으로도 partial 이라는 것이 양쪽에 붙는 것을 확인 했..
C#에서 자기 자신이 자기 폼에 대한 값을 변경하고 싶을 때 사용 하는 것은 바로 this 참 쉽죠? 예제 private void button1_Click(object sender, EventArgs e) { string sInputID = textBox1.Text; string sInputPWD = textBox2.Text; if (sID == sInputPWD && sPWD == sInputPWD) { this.Hide(); } else { textBox1.Text = ""; textBox2.Text = ""; } } 위 예제는 버튼 클릭시에 textBox1과 textBox2 에 대한 값을 가지고 값이 맞는지 아닌지를 판별하는 예제 입니다. 로그인 폼을 메인으로 띄웠기 때문에 위와 같은 코딩이 가능했..
우선 C 알고리즘으로 개발하려면 int nCurYear = 현재 년도;int nCurMonth = 현재 달;int nMaxDay = 0; 를 TIme struct 를 이용해서 구한다음에.. if( nCurMonth == 1 || nCurMonth ==3 || nCurMonth == 5 ... ){nMaxDay = 31;}else if( nCurMonth == 4 || nCurMonth == 6 || nCurMonth == 9 ... ){nMaxDay = 30;}else{if( ( nCurYear % 4 )) ... //윤년 계산 후 맞으면 29, 아니면 28} 등의 계산을 거쳐야 하지만.. 단 한줄 DateTime.DaysInMonth( int Year, int Month ); return 타입은 당연히..
/// /// Delay 함수 MS/// /// (단위 : MS)/// private static DateTime Delay(int MS){ DateTime ThisMoment = DateTime.Now; TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); DateTime AfterWards = ThisMoment.Add(duration); while (AfterWards >= ThisMoment) { System.Windows.Forms.Application.DoEvents(); ThisMoment = DateTime.Now; } return DateTime.Now;} 사용법 : Delay(1000) // 1000 = 1초 출처 : http://www.bluene...
- Total
- 331,919
- Today
- 0
- Yesterday
- 89
- PolyBridge1-5
- c#
- 좋은글귀
- PolyBridge1-4
- 리눅스
- PolyBridge
- PolyBridge하는법
- C# 판넬 예제
- 알프스목초지1-4
- 폴리브릿지
- DaleEvans
- PolyBridge1-2
- ted
- C# 패널 예제
- 알프스목초지1-3
- 알프스목초지1-2
- 믿는다는것
- 1Day1Sentence
- 알프스목초지1-1
- 자신만의향
- C# 패널
- Nina Fedoroff
- PolyBridge1-3
- Joseph Redmon
- 알프스목초지1-5
- OnlyICan
- 인생의시간
- 사람의인생
- PolyBridge1-1
- 분할작업
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 2017/08 (4)
