c#은 맨 처음 실행하면
public form이 하나 만들어져 있잖아요
InitializeComponent(); 이 내용을 가지구서요
public form과 form_load간의 하는 일에 대해서 궁금합니다. 그 차이점도요
public form(){
InitializeComponent();
창 전체화면 ;
}
전체 화면은 되대 0,0의 위치에서 화면이 시작하지 않더군요
그래서
private form_load(){
창 전체화면 ;
}
여기에다가 전체화면 해주는 녀석을 적어주니가
화면상의 0,0 위치에서 잘 실행이 되더라구요
form 과 form_load 간의 차이 때문에 그런 것인가요??
안녕하세요? 1. Form은 버튼, 텍스트상자, 콤보상자 등등을 탑재할 수 있는 Container 입니다. 이렇게 형체와 모양을 가지는 클래스는 *.cs, *.desinger.cs 파일로 구성됩니다. (솔루션탐색기 에서 확인) 2. Form() 은 "생성자" 입니다. public partial class Form1 : Form } -. Form1도 보시는 것처럼 클래스의 일종입니다. -. 클래스는 생성자, 필드, 속성(프로퍼티), 메서드, 이벤트, 소멸자로 구성됩니다. -. 생성자란 클래스안에 구성된 메서드의 특수한 형태인데, 특징은 클래스와 이름이 같고(Form1 == Form1), 메서드 형태를 띠고 있으면서 Form1() , public 접근 권한을 가지며, 반환형 자체가 없습니다. public 또한, 클래스가 처음 메모리에 만들어질 때 딱 한 번만 실행됩니다. -. InitializeComponent 메서드는 Form1.designer.cs 에 정의되어 있으며, 우리가 디자인한 화면을 표시할 수 있도록 관련 코드를 Visual studio가 자동으로 작성합니다. 3. Form_Load()는 폼이 가지고 있는 여러개의 이벤트 중에 Load시에 발생하는 이벤트 입니다. -. 폼은 다음과 같은 이벤트 절차를 거쳐 우리 앞에 모습을 드러냅니다. -. Load 이벤트 → Paint, Resize 이벤트 → Activate 이벤트 |.. Load 이벤트 : 메모리에는 올라와 있지만, 아직 우리 눈에 보이지 않습니다. |.. Paint 이벤트 : 코드나 디자인에서 그린 화면을 실제 모니터에 그립니다. |.. Resize 이벤트 : 화면의 크기가 Posision( left, top), Size(width, height) 순으로 자리를 잡습니다. |.. Activate 이벤트 : 이제 처리를 마치고 화면이 우리 눈 앞에 나타납니다. 4. Form() 생성자에서도 코드는 동작 하였을 것입니다. 크기와 좌표를 0,0으로 이동하는 것은 Load가 시작되고, Paint / Resize를 진행하면서 처리되므로, Load 이벤트에 적은 코드는 당연히 제대로 동작합니다. 하지만, 생성자 이후에도 좌표변경이 발생할 수 있습니다. 이 경우 생성자는 재실행될 수 없습니다. 오직 한 번만 동작하므로. 따라서, Load 이벤트에 우리가 원하는좌표를 설정하지 않을 경우, 임의로 변경된 좌표가 동작할 것입니다. 생성자 (0,0) ... 시작폼인 경우, Application.Run(new Form1()); (75,75) <-- 여기에서 좌표가 변경될 수 있습니다. ... Load 5. 결국, Form()은 생성자이며, Form_Load()는 이벤트 입니다. 도움이 되시길 바랍니다. 감사합니다.
written by legend
C과외/C#과외/VB과외 프로그래밍 과외.서울인천경기-방문강의.기타전국-화상강의.제대로 체계적으로 배우고싶은분들.15년경력 프리랜서.삼성/포스코/한진 등. 서울,인천,경기,분당,일산,과천,산본,부천,부평,평촌,안산,안양,광명,용인,시흥,성남,수원,평택,오산,화성,동탄,천안,아산, c#프로그래밍1:1과외, 15년 이상 프로젝트 경력의 프리랜서 직접 강의, c#프로그래밍 과외, c#프로그래밍교육, IT·컴퓨터·컴퓨터과외비·프로그래밍과외, c# 강좌, c# 프로그래밍, 데이터베이스, 데이터베이스 프로그래밍, db, DB, 과외비,컴퓨터1:1,컴퓨터개인지도,컴퓨터실무과외,컴퓨터과외,컴퓨터1:1과외, 서울,인천,경기,부천,안산,분당,일산,천안,과천,산본,안양,광명,평촌,수원,평택,오산,용인,부평,시흥,성남,화성,동탄
광주,부산,대구,대전,마산,창원,울산,전주,군산,원주,강릉,충청남도,충청북도,강원도,경상남도,경상북도,전라남도,전라북도,제주도
{
public Form1()
{
InitializeComponent();
}void 또는 int Form1()
'좋은질문' 카테고리의 다른 글
C# 모든 경우의수 조합 출력-알고리즘 (0) | 2014.09.07 |
---|---|
C# DataGridView 컬럼(column) 카운터 하기 (0) | 2014.09.06 |
C# Label For문 진행중 실시간으로 보이게하기 (0) | 2014.09.04 |
C# 랜덤 넘버 다수 라벨 (0) | 2014.09.02 |
C# 텍스트파일 Dataset으로 읽어오기 (0) | 2014.09.01 |