728x90

C Sharp 16

[C# WinForm] 경과 시간 체크 (TimeSpan & Stopwatch)

일반적으로 두 시간의 차이를 구하는 코드를 알려 드리겠습니다 1. TimeSpan 우선 첫 번째는 System 네임 스페이스의 TimeSpan 클래스를 활용해 두 시간의 차이를 구하는 구현 코드는 DateTime dtStart = DateTime.Now; // Process..... TimeSpan ts = DateTime.Now - dtStart; //ts.TotalMilliseconds.ToString(); 위와 같은 방식의 코드를 작성해 경과 시간을 측정하면 됩니다 2. Stopwatch 두번째는 System.Diagnostics 네임 스페이스의 Stopwatch 클래스입니다 구현 코드는 Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); // P..

[C# WinForm] ComboBox 텍스트 정렬 하기

ComboxBox의 값을 가운데 정렬 하기 위해서는 DrawItem 이벤트를 생성 후 사용 해야 합니다 우선 속성 값 중 DrawMode 값을 OwnerDrawVariable 값으로 변경합니다 이후 DrawItem 이벤트를 생성 후 이벤트에 아래와 같이 코드를 작성합니다 private void comboBox_DrawItem(object sender, DrawItemEventArgs e){ ComboBox cbx = sender as ComboBox; if (cbx != null) { e.DrawBackground(); if (e.Index >= 0) { StringFormat sf = new StringFormat(); Brush brush = new SolidBrush(cbx.ForeCo..

[C# WinForm] Form 반 투명하게 만들기 (컨트롤 미 적용)

Form의 Opacity 옵션을 쓰면 Form의 컨트롤까지 전체가 영향을 받습니다 그래서 Form만 반투명하게 하고 싶다면 아래와 같이 코드를 작성하면 Form의 투명도를 조절할 수 있습니다 protected override void OnPaintBackground(PaintEventArgs e) { var sb = new SolidBrush(Color.FromArgb(30, 80, 80, 80)); e.Graphics.FillRectangle(sb, this.DisplayRectangle); } 위의 코드 중 FormArgb의 값만 조절하면 원하는 색상의 반 투명 창을 만들 수 있습니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[C# WinForm] ListBox 오른쪽 마우스 클릭 선택

ListBox의 오른쪽 마우스를 눌렀을 때 해당 항목을 선택하게 하고 싶다면 아래와 같이 코드를 작성하면 됩니다 private void listBox1_MouseUp(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Right) { listBox1.SelectedIndex = listBox1.IndexFromPoint(e.X, e.Y); //추가 코드 입력 } } 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[C# WinForm] 프린트 다중 페이지 출력

PrintDocument의 이벤트 PrintPageEventHandler 에서 다중 페이지를 출력하고자 할 때는 함수 내 e.HasMorePages 변수를 true로 변경해주면 됩니다 가령 페이지를 2페이지 출력을 원한다면 아래와 같이 코드를 작성하면 됩니다 private int m_iTotalPages = 2; private int m_iProcPages = 1; private void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) { if (m_iTotalPages > m_iProcPages) { e.HasMorePages = true; m_iProcPages++; } // 출력을 위한 Grap..

[C# WinForm] 프린트 하기

C#의 기본 클래스를 활용해 프린트하는 방법입니다 private void Print() { PrintDocument Doc = new PrintDocument(); Doc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(Test_PrintPage); Doc.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("A4", 840, 1188); PrintPreviewDialog ppd = new PrintPreviewDialog(); ppd.Document = Doc; ppd.ShowDialog(); } private void Test_PrintPage(object send..

[C# WinForm] 구조체 내부 배열 초기화

구조체 안의 배열을 선언은 가능하지만 배열의 할당을 위해서는 아래와 같이 코드를 작성해 주어야 합니다 private struct _STRUCT_DATA { public string strValue; public string []strValues; public _STRUCT_DATA(int iArraySize) { strValue = ""; strValues = new string[iArraySize]; } }; // 구조체 선언 _STRUCT_DATA struct_data = new _STRUCT_DATA(5); 초기화를 위해서는 배열 안의 모든 변수에 초기값 설정이 필요하며 배열 크기를 입력받아 할당을 해야 합니다 제 글이 도움이 되셨다면 댓글 & 공감 부탁드려요 😀

[C# WinForm] 키움 증권 Open API 분봉차트 가져오기

특정 종목의 분봉차트를 가져오고 싶다면 opt10080 TR 코드를 사용해서 가져올 수 있습니다 //종목코드 = 전문 조회할 종목코드 SetInputValue("종목코드", "입력값 1"); //틱범위 = 1:1분, 3:3분, 5:5분, 10:10분, 15:15분, 30:30분, 45:45분, 60:60분 SetInputValue("틱범위", "입력값 2"); //수정주가구분 = 0 or 1, 수신데이터 1:유상증자, 2:무상증자, 4:배당락, 8:액면분할, 16:액면병합, 32:기업합병, 64:감자, 256:권리락 SetInputValue("수정주가구분", "입력값 3"); //Tr 요청 CommRqData( "주식분봉차트조회요청","opt10080","0", "화면번호"); 위의 방식으로 Tr을 요청..

728x90
반응형