닷넷
-
C# [펌] TCP/IP환경에서 메시지 교환 원리닷넷/C# 2018. 8. 30. 18:22
TCP/IP환경에서 메시지 교환 원리2016.04.28 06:03 from 프로그래밍 일반/개발 도구 사용법 http://foranie0.tistory.com/199TCP/IP환경에서 메시지 교환 원리1. 서두 질문글 답변글 서버 플머가 아니라서 이런 것까지 정리할 생각은 없었는데 어제 술 마시다가 조상현 교수님이 만든 엔진에는 프로토콜 넘...foranie0.tistory.com1. 서두질문글답변글서버 플머가 아니라서 이런 것까지 정리할 생각은 없었는데 어제 술 마시다가 조상현 교수님이 만든 엔진에는 프로토콜 넘버를 기준으로 일일이 switch case 해주는 부분 없이 상속으로 처리 했다는 이야기를 듣고 소스를 까보는 김에 이것까지 작성 하게 되었다. (와중에 내 코드 일부가 틀린 것이 생각 나기도 ..
-
C# [펌] Thread 파라미터 전달닷넷/C# 2018. 8. 24. 16:52
이미 파라미터가 있는 메소드일 때 C#에서 Thread에 파라미터를 전달하는 방법에 대해,내가 정리해서 작성한 것보다 잘 쓰여진 글이 있어서 그대로 복사해왔다. C# Thread 클래스 파라미터 전달 http://www.csharpstudy.com/Threads/thread2.aspxThread 클래스(2) - C# 프로그래밍 배우기 (Learn C# Programming)C# Thread 클래스 파라미터 전달 Thread 클래스는 파라미터를 전달하지 않는 ThreadStart 델리게이트와 파라미터를 직접 전달하는 Parameter...www.csharpstudy.com Thread 클래스는 파라미터를 전달하지 않는 ThreadStart 델리게이트와 파라미터를 직접 전달하는 ParameterizedThr..
-
C# MDI폼의 자식폼 최대화시 메뉴바에 나타나는 아이콘 없애기닷넷/WinForms 2018. 8. 20. 18:01
C#에서 하나의 메인폼을 MDI 폼으로 만들어 부모폼으로 만들고, (부모폼에는 메뉴바가 있다.)여러 개의 폼을 자식폼으로 해서 창크기를 최대화로 하면메뉴바에 아이콘이 생긴다. 이 아이콘이 내가 설정한 거로 안 나오고, C# 윈폼 기본 아이콘으로 나오니까 보기가 싫다.고객사 납품용인데 프로그램이 없어보인다. 흐규흐규 그래서 찾아낸 방법!!!! 폼 속성창에서 ControlBox를 True에서 False로 하니까 잘 된다. 메뉴바에 자식폼 아이콘이 사라졌다. 오오
-
C# 숫자 세자리마다 콤마(쉼표)찍기닷넷/C# 2018. 8. 2. 16:51
C#에서 숫자 세자리마다 콤마(쉼표)찍는 방법 다음은 C#에서 숫자를 문자열로 바꾸고, 세자리 마다 콤마(쉼표)가 입력되게 하는 방법이다. int i = 100000000; string number = string.Format("{0:#,###}", i); 결과: 100,000,000 그런데 여기서 만약 i가 0 또는 null이라면 값이 공백으로 나온다. int i = 0; string number = string.Format("{0:#,###}", i); 결과: 공백이 아닌 0으로 나오게 하려면 다음과 같이 하면 된다. int i = 0; string number = string.Format("{0:#,##0}", i); 결과: 0
-
C# DataGridView 엑셀 출력 빠르게 하기 (복사&붙여넣기)닷넷/WinForms 2018. 7. 20. 16:13
이전에 포스팅한 2017/05/24 - [프로그래밍/C#] - C# DataGridView 데이터 엑셀파일에 저장 using oledb 은 데이터그리드뷰의 데이터를 엑셀파일로 출력할 때 속도가 느리다는 단점이 있다. 어떻게 하면 빠르게 출력할 수 있을까... 데이터그리드뷰 자체를 복사해서 엑셀파일에 그대로 옮겨놓을 수 있을까... 하다가 찾아낸 방법이다. 아래의 ExportExcel 메소드를 사용하면 된다. private void ExportExcel(string filename) { // Copy from DataGridView // 데이타그리드뷰를 전체선택하고, dataGridView1.SelectAll(); // 클립보드에 복사한다. DataObject dataObj = dataGridView1.G..
-
C# 폼 캡처, 자식 폼 캡처닷넷/C# 2018. 7. 18. 09:53
아래 ScreenCaptureForm 메소드를 사용하면 쉽게 폼을 캡처 할 수 있다.아래 메소드를 사용할 때 폼의 시작위치와 폼 사이즈만 넘겨주면 되는 것이다.private void ScreenCaptureForm(Point _point, Size _size){ Rectangle rectangle = new Rectangle(_point, _size); Bitmap bitmap = new Bitmap(rectangle.Width, rectangle.Height); Graphics g = Graphics.FromImage(bitmap); g.CopyFromScreen(rectangle.Left, rectangle.Top, 0, 0, rectangle.Size); bitmap.Save(@"C:\test.pn..
-
C# goto문 작성방법닷넷/C# 2018. 6. 28. 17:01
goto는 프로그램의 흐름을 바꾸는 명령으로 어떤 상황일 때 코드의 특정부분으로 가서 동작하게끔 할 수 있습니다. 코드의 흐름을 비직관적으로 만들 수 있고, 디버깅과 유지보수를 어렵게 할 수 있으므로 goto문을 쓰지 않는 걸 권장 받아 왔고 그렇게 교육 받아 왔지만 잘 쓰면 약이고, 잘못 쓰면 독약인 것처럼 goto도 그러하기 때문에 현재 시점에서는 용도에 맞게, 의도에 맞게 잘 쓰면 아무런 문제도 되지 않습니다. 단, 이게 무슨 용도로, 의도로 쓰였는지 주석은 꼭 달아주도록 합시다! goto문 작성방법 1. 레이블(label)을 정의합니다. 레이블은 코드 내의 특정 위치를 식별하는 식별자입니다. 레이블은 콜론(:)으로 끝나는 형식으로 작성됩니다. 2. goto 키워드 뒤에 이동하려는 레이블 이름을 지..
-
C# SqlDependency 사용 중에...닷넷/C# 2018. 6. 21. 16:01
아래 사이트의 설명이 너무 좋으므로 따로 설명은 하지 않는다.http://www.csharpstudy.com/DevNote/Article/11 대신에 위 사이트 설명에서 추가하고 싶은 내용. [SQL] 문을 어떻게 써야하는지에 대한 몇가지 제약 조건들 중에 하나 1. where절이나 order by 등에 나오는 칼럼타입이 DateTime이면 invalid 뱉어냄.따라서 Convert(varchar(10), MachineTime, 120) 이런 식으로 칼럼 타입을 변경하여 쿼리를 짜야 한다.
-
C# 텍스트박스에 숫자만 입력되게 하기닷넷/WinForms 2018. 6. 7. 17:25
텍스트박스에서 키를 눌렀을 때 숫자만 입력되게 하는 방법. private void txtBox1_KeyPress(object sender, KeyPressEventArgs e){ //숫자만 입력되도록 필터링 if(!(char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToChar(Keys.Back))) //숫자와 백스페이스를 제외한 나머지를 바로 처리 { e.Handled = true; }} 출처: http://terrorjang.tistory.com/39 [개발자 공간]
-
C# DateTimePicker 기본값 설정하기닷넷/WinForms 2018. 3. 27. 10:01
dateTimePicker1.Value = new DateTime(int.Parse("년도"), int.Parse("월"), int.Parse("일")); 예제.1. 기본값을 현재 월의 5일로 설정(프로그램을 실행하면 dateTimePicker1은 항상 현재 월의 28일로 나오게.) dateTimePicker1.Value = new DateTime(int.Parse(DateTime.Now.ToString("yyyy") , int.Parse(DateTime.Now.ToString("MM") , 5); 2. 기본값을 현재의 다음 달의 말일-2 로 설정 (프로그램을 실행하면 dateTimePicker1은 항상 현재의 다음 달 말일-2 로 나오게.예를 들어 현재 2018년 3월 27일의 다음 달 말일-2는 20..
-
C# 간단하게 구현한 CheckBox ComboBox (with CheckedListBox)닷넷/WinForms 2018. 3. 15. 19:01
콤보박스 아이템들에 체크박스를 추가하는 방법들은 구글링하면 나오긴 하는데 참고해서 직접 구현하려니 잘 안 된다. 그래서 콤보박스와 체크드리스트박스 두개를 활용하는 방식으로 구현하였다. 디자인(Designer.cs) // 콤보박스, // 1) 드롭다운스타일은 심플로 한다. // 2) 클릭이벤트가 있다. // cbGroups // this.cbGroups.BackColor = System.Drawing.Color.AliceBlue; this.cbGroups.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple; this.cbGroups.FormattingEnabled = true; this.cbGroups.Items.AddRange(new object[] {..
-
C# 텍스트파일 읽기닷넷/C# 2018. 3. 14. 10:17
1. 텍스트파일 한줄 씩 읽기 using (System.IO.StreamReader sr = new System.IO.StreamReader("FileName")) { string line; while ((line = sr.ReadLine()) != null) { Console.WriteLine(line); } } 2. 텍스트파일 처음부터 끝까지 읽기 using (System.IO.StreamReader sr = new System.IO.StreamReader("FileName")) { Console.WriteLine(sr.ReadToEnd()); }
-
C# 엑셀파일 가져오기 using Microsoft.Office.Interop.Excel (DataGrdiVeiw에 바인딩 포함)닷넷/WinForms 2018. 1. 10. 13:21
2017/05/22 - [프로그래밍/C#] - C# 엑셀파일 가져오기 using OleDb이전 글에서는 OleDb를 이용해 엑셀파일을 불러왔다면 이번 글은 엑셀 라이브러리를 이용해 엑셀파일을 불러 오는 방법이다. 먼저 엑셀 라이브러리를 추가한다. 1) 참조에서 오른쪽 마우스클릭 -> 참조 추가 클릭 2) 어셈블리에서 확장에 보면 Microsoft.Office.Interop.Excel 이 있다.버전 별로 여러 개가 있다면 그 중에 하나만 선택 하고 확인을 눌러 추가해준다.없다면 엑셀이 설치되어 있지 않은 것이다. 엑셀을 설치하거나 dll 파일을 구한다. 3) 소스 파일에 using Microsoft.Office.Interop.Excel; 를 입력한다. 4) 그러나 System에 선언되어 있는 클래스나 메소..
-
C# 바이너리 파일 읽기 (한글 포함)닷넷/C# 2018. 1. 9. 20:53
2017/05/26 - [프로그래밍/C#] - C# 바이너리 파일 읽기 및 클래스에 담기전에 포스팅한 것인데 이 방법으론 한글이 저장된 바이너리 파일은 인코딩할 수 없었다. 한글이 포함된 바이너리 파일 읽기 // StreamReader를 통해 바이너리 파일을 읽는다.// 이때 한글이 깨지지 않게 가져오려면 Encoding 코드 페이지는 949로 한다. using (StreamReader sr = new StreamReader(fname, Encoding.GetEncoding(949))){ string s = sr.ReadToEnd(); // 문자열을 쪼개서 배열에 담는다. // 정규식을 사용해도 될 것 같은데, 일단 바이너리 파일에서 불필요한 식별자들을 기준으로해서 쪼갬. string[] ss = s.S..