본문 바로가기

개발언어/C#191

[C#] 차트 x 축에서 끝 레이블을 항상 표시하는 방법 아래 이미지에 차트를 만들었으며 기존 레이블 외에도 x 축의 왼쪽과 오른쪽에있는 끝 레이블을 삽입해야합니다. 데이터 포인트가 많으므로 레이블이 축을 어지럽게 만들므로 간격을 1로 설정할 수 없습니다. 이미 속성 설정을 시도했습니다 chartHistory.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = true; 그러나 작동하지 않는 것 같습니다. 어떻게하면됩니까? 답 시도해 볼 수 있습니다 : chartHistory.ChartAreas[0].AxisX.IsMarginVisible = true; chartHistory.ChartAreas[0].AxisX.LabelStyle.IsEndLabelVisible = true; 아니면 라벨을 직접 추가해야 할 수도 있습니다.. 2021. 11. 9.
[C#] C# MS Chart X축 Label(라벨) 모두 표현하는 방법 안녕하세요. 오늘은 C# 윈폼 MS에서 기본으로 제공하는 chart 컨트롤을 다뤄보려고 합니다. 그 중에서도 차트 X축 Label(라벨) 모두 표현하는 방법에 대해서 어떻게 코드를 작성하면 모두 표현이 되는지 알려드리려고 해요. 우선, 아래와 같이 윈폼 빈 프로젝트를 하나 만들고 나서 MS 차트 컨트롤을 배치해 주고 다음과 같이 코드를 작성해 주시기 바랍니다. 예제 코드 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; usi.. 2021. 11. 9.
[C#]Chart 사용법 및 요약 https://imcyber.tistory.com/263 2021. 11. 5.
[C#]시간 계산 C# 으로 시간계산 C#에서 시간에 대한 데이타형은 2종류입니다. DateTime과 TimeSpan DateTime은 시각으로 2000년2월1일 이렇게 시각을 정할때 사용하고 TimeSpan은 시간으로 100일을 더하고 싶으면 TimeSpan.FromDays(100)이렇게 하면 100일을 tick으로 환산하여 계산합니다.100일을 초로 알고싶으면 초나 분으로도 알수있습니다. 응용하면 D-day계산등이 가능합니다. 시각(DateTime) - 시각 = 시간(TimeSpan) 시각 - 시간 = 시각 시각 + 시간 = 시각 소스코드 # 으로 시간계산 C#에서 시간에 대한 데이타형은 2종류입니다. DateTime과 TimeSpan DateTime은 시각으로 2000년2월1일 이렇게 시각을 정할때 사용하고 Time.. 2021. 11. 4.
[C#] Using 사용 사용 용도는 2가지가 있습니다. 1.지시문(Directive) 다른 네임스페이스에 정의된 타입을 Import 하거나, 네임스페이스에 대한 별칭을 만들때 사용한다. using System.Text; //코드 상단에 네임스페이스 정의 using Project = PC.MyCompany.Project; // 별칭 2.문장(Statement) * 개체의 범위를 정의할때 사용한다. 그 범위를 벗어나면 자동으로 Dispose 된다. File이나 Font, DB Connection 관련 클래스들은 관리되자 않는 리소스에 액세스 합니다. 다 사용후 적절하게 Dispose해서 자원을 반납해야 합니다. 하지만 종종 Dispose를 하지 않아서 리소스가 낭비되거나 DB Connection 같은 것을 Open만하고 Close.. 2021. 10. 18.
[C#] using문 이해 및 사용방법 C# 문법 중 using문이 어떠한 것인지 알아보고, 또 언제 어디서 어떻게 사용하는지 알아 보도록 하겠습니다. C#에서 using문의 사용 용도는 크게 2가지 입니다. 첫 번째 로는 지시문, 두 번째로는 문장을 표현할 때 사용합니다. 우선 첫 번째로 지시문으로 사용되는 예제입니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; 위에서 보이는 것과 같이, 네임스페이스에 정의된 각 타입을 가져올때(참조할 때) 사용합니다. 두 번재로는 문장 형태의 using문 입니다. MSDN을 인용하여 using문을 설명 드리자면 IDisposable 객체의 올바.. 2021. 10. 18.
[C#] 스트림에서 오디오재생 stream play NAudio를 사용한 솔루션 NAudio 1.3의 도움으로 다음을 수행할 수 있다. URL에서 MemoryStream으로 MP3 파일 로드 MP3 데이터를 완전히 로드한 후 파형 데이터로 변환 NAudio의 WaveOut 클래스를 사용하여 파형 데이터 재생 반 장전된 MP3 파일까지 재생할 수 있었으면 좋았을 텐데, NAudio 라이브러리 설계 때문에 불가능해 보인다. 그리고 이것이 그 일을 할 수 있는 기능이다. public static void PlayMp3FromUrl(string url) { //url에서 stream으로 받아와서 buffer에 저장 using (Stream ms = new MemoryStream()) { using (Stream stream = WebRequest.Create(u.. 2021. 10. 18.
[C#]ListView – Columns 컬럼 동적 크기 조정 DataGridView는 각 열의 너비를 정의할 때 많은 옵션을 제공한다. 개인적으로 가장 좋아하는 것은 AutoSizeMode 속성을 Fill로 설정한 다음 각 열에 대해 FillWeight를 정의하는 것이다. 이렇게 하면 사용자가 양식 크기를 어떻게 조정하든 FillWeight 속성에 따라 각 열의 크기가 자동으로 조정된다. ListView 컨트롤을 상세 모드로 사용할 때 그런 속성을 찾고 있었는데 그런 기능이 없는 것 같아. 여기 MSDN 설명서에 따르면, 열 머리글 너비 속성을 -1로 설정하면 열 너비가 열에서 가장 긴 항목으로 자동 조정되고 열 머리글 너비 속성을 -2로 설정하면 열 머리글 너비가 자동으로 열 머리글 크기에 맞게 조정된다. 그러나 DataGridView에서와 같이 각 열의 비례성.. 2021. 10. 12.
[C#]Modbus PLC Simulator(TCP 전용 시뮬레이터 nmodbus 라이브러리) Modbus PLC Simulator(TCP 전용 시뮬레이터 nmodbus 라이브러리) Modbus는 자동화 라인에서 사용하기 위해 1979년에 개발된 프로토콜입니다. 우리나라에서도 장비 회사 대부분이 이 프로토콜을 사용 중이기도 하죠. 그래서 Modbus PLC Simulator(시뮬레이터) 등 프로토콜에 대한 응용 프로그램, 라이브러리 등의 수요가 많은 편입니다. 이 포스트에서는 Modbus 프로토콜의 한 예제입니다. C#용으로 라이브러리, 소스 응용 예제를 포함합니다. 그나저나, 요즘 C# 지원이 많아졌네요. NI, 미쓰비시 등이 C#용 라이브러리 많이 내놓고 있어요. MFC로 만들어진 것 프로그램이 많아 당장은 아니겠으나, 조금씩 C#이 MFC의 자리를 대체할 것으로 보입니다. 대기업이 지원할 만.. 2021. 9. 23.
[C#/API] Gloobal Hotkey(핫키) 등록하기 (RegisterHotKey, UnregisterHotKey) C#으로 윈도우 핫키 등록하는 방법 RegisterHotKey() 함수로 핫키를 등록하고 UnregisterHotKey() 함수로 핫키를 해제 할 수 있다 조합키로 핫키를 등록할 수 있고 단일키로도 핫키를 사용할 수 있다 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.Runtime.InteropServices; namespace GlobalHotkey { p.. 2021. 9. 17.