■ Application 클래스를 사용해 XP 테마를 설정하는 방법을 보여준다. ▶ Form이 실행되기 전 테마 적용이 가능하도록 설정한다 (C#)
|
using System.Windows.Forms; Application.EnableVisualStyles(); Application.Run(new TestForm()); |
▶ 각 컨트롤을
더 읽기
■ ComboBox 클래스에서 열거형 값을 바인딩하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Drawing; using System.Windows.Forms; ComboBox comboBox = new ComboBox(); comboBox.DataSource = Enum.GetValues(typeof(Color)); Color color = (Color)(comboBox.SelectedItem); |
■ Cursor 클래스의 Position 정적 속성을 사용해 마우스 위치를 설정하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
using System.Drawing; using System.Windows.Forms; #region 마우스 위치 설정하기 - SetMousePosition(x, y) /// <summary> /// 마우스 위치 설정하기 /// </summary> /// <param name="x">X 좌표</param> /// <param name="y">Y 좌표</param> /// <remarks>화면 좌표계를 사용한다.</remarks> public void SetMousePosition(int x, int y) { Cursor.Position = new Point(x, y); } #endregion |
■ Cursor 클래스의 Position 정적 속성을 사용해 마우스 위치를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
using System.Drawing; using System.Windows.Forms; #region 마우스 위치 구하기 - GetMousePosition() /// <summary> /// 마우스 위치 구하기 /// </summary> /// <returns>마우스 위치</returns> /// <remarks>화면 좌표계를 사용한다.</remarks> public Point GetMousePosition() { return Cursor.Position; } #endregion |
■ WebBrowser 클래스에서 웹 사이트 조회시 발생하는 스크립트 오류를 억제하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Windows.Forms; WebBrowser webBrowser = new WebBrowser(); ... webBrowser.ScriptErrorsSuppressed = true; |
■ Form 클래스의 ProcessCmdKey 메소드를 재정의해 단축키를 사용하는 방법을 보여준다. ▶ 예제 코드 1 (C#)
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 31 32 33 34 35 36 37 38 39 40 41
|
using System.Windows.Forms; #region 명령 키 처리하기 - ProcessCmdKey(message, keys) /// <summary> /// 명령 키 처리하기 /// </summary> /// <param name="message">Message</param> /// <param name="keys">Keys</param> /// <returns>처리 결과</returns> protected override bool ProcessCmdKey(ref Message message, Keys keys) { Keys workKey = keys & ~(Keys.Shift | Keys.Control); switch(workKey) { case Keys.S : if((keys & Keys.Control) != 0) { MessageBox.Show("Ctrl+S 키를 눌렀습니다."); return true; } break; case Keys.F5 : MessageBox.Show("F5 키를 눌렀습니다."); return true; } return base.ProcessCmdKey(ref message, keys); } #endregion |
▶ 예제 코드 2 (C#)
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 31 32 33 34
|
using System.Windows.Forms; #region 명령 키 처리하기 - ProcessCmdKey(message, keys) /// <summary> /// 명령 키 처리하기 /// </summary> /// <param name="message">Message</param> /// <param name="keys">Keys</param> /// <returns>처리 결과</returns> protected override bool ProcessCmdKey(ref Message message, Keys keys) { if(!base.ProcessCmdKey(ref message, keys)) { if(keys.Equals(Keys.F1)) { // TODO : ... return true; } else { return false; } } else { return true; } } #endregion |
■ Form 클래스에서 Drag Drop을 구현하는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
using System.Windows.Forms; /// <summary> /// 테스트 폼 /// </summary> public partial class TestForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Private #region Field /// <summary> /// 리스트 박스 /// </summary> private ListBox lbList; #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - TestMain() /// <summary> /// 생성자 /// </summary> public TestMain() { InitializeComponent(); AllowDrop = true; DragOver += Form_DragOver; DragDrop += Form_DragDrop; } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private //////////////////////////////////////////////////////////////////////////////// Event #region 폼 드래그 OVER시 처리하기 - Form_DragOver(sender, e) /// <summary> /// 폼 드래그 OVER시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_DragOver(object sender, DragEventArgs e) { if(e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; } else { e.Effect = DragDropEffects.None; } } #endregion #region 폼 드래그 DROP시 처리하기 - Form_DragDrop(sender, e) /// <summary> /// 폼 드래그 DROP시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_DragDrop(object sender, DragEventArgs e) { string[] filePathArray = e.Data.GetData(DataFormats.FileDrop) as string[]; if(filePathArray != null) { foreach(string filePath in filePathArray) { lbList.Items.Add(filePath); } } } #endregion } |
■ DesignerCategoryAttribute 클래스를 사용해 소스 코드 클릭시 디자이너 모드를 방지하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.ComponentModel; [DesignerCategory("Code")] public class TestClass : Component { ... } |
※ System.ComponentModel.Component 클래스를 상속받은 클래스의
더 읽기
■ Form 클래스에서 대화 상자 폼의ProcessDialogKey 메소드를 재정의하는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32 33
|
using System.Windows.Forms; #region 대화 상자 키 처리하기 - ProcessDialogKey(keys) /// <summary> /// 대화 상자 키 처리하기 /// </summary> /// <param name="keys">키</param> /// <returns>처리 결과</returns> protected override bool ProcessDialogKey(Keys keys) { switch(keys) { case Keys.Escape : if(Modal) { DialogResult = DialogResult.Cancel; Close(); return true; } break; } return base.ProcessDialogKey(keys); } #endregion |
■ Form 클래스에서 MDI 부모 폼의 스크롤바를 숨기는 방법을 보여준다. ▶ NoScrollBarNativeWindow.cs
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
using System; using System.Runtime.InteropServices; using System.Windows.Forms; /// <summary> /// 스크롤 바 없는 네이티브 윈도우 /// </summary> public class NoScrollBarNativeWindow : NativeWindow { //////////////////////////////////////////////////////////////////////////////////////////////////// Import ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 스크롤 바 보여주기 - ShowScrollBar(windowHandle, scrollBarType, show) /// <summary> /// 스크롤 바 보여주기 /// </summary> /// <param name="windowHandle">윈도우 핸들</param> /// <param name="scrollBarType">스크롤 바 타입</param> /// <param name="show">보여주기</param> /// <returns>처리 결과</returns> [DllImport("user32")] private static extern int ShowScrollBar(IntPtr windowHandle, int scrollBarType, int show); #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Private #region Field /// <summary> /// WM_NCCALCSIZE /// </summary> private const int WM_NCCALCSIZE = 0x0083; /// <summary> /// SB_BOTH /// </summary> private const int SB_BOTH = 3; #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - NoScrollBarNativeWindow() /// <summary> /// 생성자 /// </summary> public NoScrollBarNativeWindow() { } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Protected #region 윈도우 프로시저 처리하기 - WndProc(message) /// <summary> /// 윈도우 프로시저 처리하기 /// </summary> /// <param name="message">Message</param> protected override void WndProc(ref Message message) { switch(message.Msg) { case WM_NCCALCSIZE : ShowScrollBar(message.HWnd, SB_BOTH, 0); break; } base.WndProc(ref message); } #endregion } |
▶ MainForm.cs
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
using System; using System.Windows.Forms; /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainForm() /// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent(); } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private #region 폼 로드시 처리하기 - Form_Load(sender, e) /// <summary> /// 폼 로드시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_Load(object sender, EventArgs e) { NoScrollBarNativeWindow noScrollBarNativeWindow = new NoScrollBarNativeWindow(); for(int i = 0; i < Controls.Count; i++) { MdiClient mdiClient = Controls[i] as MdiClient; if(mdiClient != null) { noScrollBarNativeWindow.ReleaseHandle(); noScrollBarNativeWindow.AssignHandle(mdiClient.Handle); } } } #endregion } |
■ Form 클래스에서 이벤트 발생 순서를 보여준다. ▶ 폼 실행
|
Form.Move Form.LocationChanged Form.StyleChanged Form.BindingContextChanged Form.Load Form.Layout Form.VisibleChanged Form.Activated Form.Shown Form.Paint |
▶ 다른 창으로 가려지는 경우
|
Form.Deactivate Form.Paint |
▶ 다른 창에 가려졌다가 다시
더 읽기
■ TextBox 클래스에서 한글만 입력하는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32
|
using System; using System.Windows.Forms; /// <summary> /// 텍스트 박스 /// </summary> private TextBox textBox; ... this.textBox.KeyPress += textBox_KeyPress; ... #region 텍스트 박스 키 PRESS시 처리하기 - textBox_KeyPress(sender, e) /// <summary> /// 텍스트 박스 키 PRESS시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void textBox_KeyPress(object sender, KeyPressEventArgs e) { if((Char.IsPunctuation(e.KeyChar) || Char.IsDigit(e.KeyChar) || Char.IsLetter(e.KeyChar) || Char.IsSymbol(e.KeyChar)) && e.KeyChar != 8) { e.Handled = true; } } #endregion |
■ Form 클래스에서 마우스로 폼을 이동시키는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
|
using System.Drawing; using System.Windows.Forms; /// <summary> /// 테스트 폼 /// </summary> public partial class TestForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Private #region Field /// <summary> /// 드래그 여부 /// </summary> private bool isDragging; /// <summary> /// 시작 위치 /// </summary> private Point startPoint; #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - TestForm() /// <summary> /// 생성자 /// </summary> public TestForm() { InitializeComponent(); MouseDown += Form_MouseDown; MouseMove += Form_MouseMove; MouseUp += Form_MouseUp; } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private //////////////////////////////////////////////////////////////////////////////// Event #region 폼 마우스 다운시 처리하기 - Form_MouseDown(sender, e) /// <summary> /// 폼 마우스 다운시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_MouseDown(object sender, MouseEventArgs e) { this.startPoint.X = e.X; this.startPoint.Y = e.Y; this.isDragging = true; } #endregion #region 폼 마우스 이동시 처리하기 - Form_MouseMove(sender, e) /// <summary> /// 폼 마우스 이동시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_MouseMove(object sender, MouseEventArgs e) { if(this.isDragging) { Point screenPoint = PointToScreen(e.Location); Location = new Point ( screenPoint.X - this.startPoint.X, screenPoint.Y - this.startPoint.Y ); } } #endregion #region 폼 마우스 업시 처리하기 - Form_MouseUp(sender, e) /// <summary> /// 폼 마우스 업시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_MouseUp(object sender, MouseEventArgs e) { this.isDragging = false; } #endregion } |
■ Form 클래스에서 ALT+F4 키를 방지하는 방법을 보여준다. • Form에서 KeyPreview 속성을 true로 설정한다. • 아래와 같이 Form.KeyDown 이벤트를 설정한다. ▶ 예제
더 읽기
■ mouse_event API 함수를 사용해 마우스 이벤트를 발생시키는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
using System.Runtime.InteropServices; /// <summary> /// 마우스 이벤트 발생시키기 /// </summary> /// <param name="flag">플래그</param> /// <param name="deltaX">델타 X</param> /// <param name="deltaY">델타 Y</param> /// <param name="data">데이터</param> /// <param name="extraInformation">부가 정보</param> [DllImport("user32")] private static extern void mouse_event(uint flag, uint deltaX, uint deltaY, uint data, int extraInformation); private const int WM_MOUSEMOVE = 0x201; private const int WM_LBUTTONDOWN = 0x202; private const int WM_LBUTTONUP = 0x204; ... mouse_event(WM_LBUTTONDOWN, 0, 0, 0, 0); mouse_event(WM_LBUTTONUP , 0, 0, 0, 0); |
■ BufferedGraphics 클래스를 사용하는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32 33 34 35 36 37 38 39
|
using System.Drawing; using System.Drawing.Drawing2D; #region 폼 페인트 처리하기 - Form_Paint(sender, e) /// <summary> /// 폼 페인트 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void Form_Paint(object pSender, PaintEventArgs e) { using(BufferedGraphics bufferedGraphics = BufferedGraphicsManager.Current.Allocate(e.Graphics, ClientRectangle)) { bufferedGraphics.Graphics.Clear(Color.Silver); bufferedGraphics.Graphics.InterpolationMode = InterpolationMode.High; bufferedGraphics.Graphics.SmoothingMode = SmoothingMode.AntiAlias; bufferedGraphics.Graphics.TranslateTransform ( AutoScrollPosition.X, AutoScrollPosition.Y ); Pen pen = new Pen(Color.FromArgb(111, 91, 160), 3); bufferedGraphics.Graphics.DrawLine(pen, 0, 0, 100, 100); pen.Dispose(); bufferedGraphics.Render(e.Graphics); } } #endregion |
■ TreeView 클래스에서 스크롤하는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
using System.Windows.Forms; #region 스크롤 하기 - Scroll(treeView, nodeIndex) /// <summary> /// 스크롤 하기 /// </summary> /// <param name="treeView">TreeView</param> /// <param name="nodeIndex">노드 인덱스</param> public void Scroll(TreeView treeView, int nodeIndex) { if(treeView.Nodes.Count == 0) { return; } nodeIndex = Math.Min(Math.Max(0, nodeIndex), treeView.Nodes.Count - 1); treeView.Nodes[nodeIndex].EnsureVisible(); } #endregion #region 처음으로 스크롤 하기 - ScrollToFirst(treeView) /// <summary> /// 처음으로 스크롤 하기 /// </summary> /// <param name="treeView">TreeView</param> public void ScrollToFirst(TreeView treeView) { Scroll(pTreeView, 0); } #endregion #region 마지막으로 스크롤 하기 - ScrollToLast(treeView) /// <summary> /// 마지막으로 스크롤 하기 /// </summary> /// <param name="treeView">TreeView</param> public void ScrollToLast(TreeView treeView) { Scroll(treeView, treeView.Nodes.Count - 1); } #endregion |
■ Graphics 클래스를 사용해 컨트롤을 캡처하는 방법을 보여준다. ▶ Graphics 클래스 : 컨트롤 캡처하기 예제 (C#)
|
using System.Drawing; Bitmap bitmap = CaptureControl(this, btnTest); |
▶ Graphics 클래스 : 컨트롤
더 읽기
■ Graphics 클래스의 CopyFromScreen 메소드를 사용해 화면을 캡처하는 방법을 보여준다. ▶ Graphics 클래스 : CopyFromScreen 메소드를 사용해 화면 캡처하기 예제 (C#)
|
using System.Drawing; Bitmap bitmap = CaptureScreen(new Rectangle(0, 0, 1024, 768)); // 화면 단위 |
더 읽기
■ Screen 클래스를 사용해 작업 영역 크기를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
using System.Drawing; using System.Windows.Forms; #region 작업 영역 크기 구하기 - GetWorkingAreaSize() /// <summary> /// 작업 영역 크기 구하기 /// </summary> /// <returns>작업 영역 크기</returns> public Size GetWorkingAreaSize() { Size workingAreaSize = Screen.PrimaryScreen.WorkingArea.Size; return workingAreaSize; } #endregion |
■ Form 클래스에서 화면 중앙에 배치하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
using System.Drawing; using System.Windows.Forms; #region 화면 중앙에 배치하기 - PlaceScreenCenter(form) /// <summary> /// 화면 중앙에 배치하기 /// </summary> /// <param name="form">Form</param> public void PlaceScreenCenter(Form form) { Size screenSize = GetScreenSize(); // "Screen 클래스 : 화면 크기 구하기" 참조 form.Location = new Point ( screenSize.Width / 2 - form.Size.Width / 2, screenSize.Height / 2 - form.Size.Height / 2 ); } #endregion |
■ Screen 클래스를 사용해 화면 크기를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
using System.Drawing; using System.Windows.Forms; #region 화면 크기 구하기 - GetScreenSize() /// <summary> /// 화면 크기 구하기 /// </summary> /// <returns>화면 크기</returns> public Size GetScreenSize() { Size screenSize = Screen.PrimaryScreen.Bounds.Size; return screenSize; } #endregion |
■ Form 클래스에서 포커스 설정을 방지하는 방법을 보여준다. ▶ 예제 코드 (C#)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
using System; using System.Runtime.InteropServices; using System.Windows.Forms; /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 윈도우 보여주기 - ShowWindow(windowHandle, showCommand) /// <summary> /// 윈도우 보여주기 /// </summary> /// <param name="windowHandle">윈도우 핸들</param> /// <param name="showCommand">보여주기 명령</param> /// <returns>처리 결과</returns> [DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr windowHandle, int showCommand); #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Private #region Field /// <summary> /// WM_SHOWNOACTIVATE /// </summary> private const int WM_SHOWNOACTIVATE = 4; #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainForm() /// <summary> /// 생성자 /// </summary> public MainForm() { InitializeComponent(); ShowWindow(Handle, WM_SHOWNOACTIVATE); } #endregion } |
■ Form 클래스의 ShowWithoutActivation 속성을 사용해 포커스 설정을 방지하는 방법을 보여준다. ▶ 예제 코드 (C#)
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
|
using System.Windows.Forms; /// <summary> /// 메인 폼 /// </summary> public partial class MainForm : Form { //////////////////////////////////////////////////////////////////////////////////////////////////// Property ////////////////////////////////////////////////////////////////////////////////////////// Protected #region 활성화 없이 보여주기 여부 - ShowWithoutActivation /// <summary> /// 활성화 없이 보여주기 여부 /// </summary> protected override bool ShowWithoutActivation { get { return true; } } #endregion ... } |
■ Application 클래스의 StartupPath 정적 속성을 사용해 애플리케이션 실행 경로를 구하는 방법을 보여준다. ▶ 예제 코드 (C#)
|
using System.Windows.Forms; #region 애플리케이션 실행 경로 구하기 - GetApplicationExecutablePath() /// <summary> /// 애플리케이션 실행 경로 구하기 /// </summary> /// <returns>애플리케이션 실행 경로</returns> public string GetApplicationExecutablePath() { return Application.StartupPath; } #endregion |